转置矩阵的 Python 程序

2022-05-03 00:00:00 python 程序 矩阵

在此示例中,您将学习转置矩阵(使用嵌套列表创建)。

要理解此示例,您应该了解以下Python 编程主题:

Python for 循环
Python 列表
在 Python 中,我们可以将矩阵实现为嵌套列表(列表中的列表)。我们可以将每个元素视为矩阵的一行。

例如X = [[1, 2], [4, 5], [3, 6]]将表示一个 3x2 矩阵。第一行可以选择为X[0]。并且,第一行第一列中的元素可以选择为X[0][0]。

矩阵的转置是行和列的交换。它表示为X'. 元素在我行和第 j 个列在X将被放置在第 j 个行和我列在X'. 因此,如果X是一个 3x2 矩阵,X'将是一个 2x3 矩阵。

以下是在 Python 中实现此目的的几种方法。

使用嵌套循环的矩阵转置

# Program to transpose a matrix using a nested loop

X = [[12,7],
    [4 ,5],
    [3 ,8]]

result = [[0,0,0],
         [0,0,0]]

# iterate through rows
for i in range(len(X)):
   # iterate through columns
   for j in range(len(X[0])):
       result[j][i] = X[i][j]

for r in result:
   print(r)

输出

[12, 4, 3]
[7、5、8]

在这个程序中,我们使用了嵌套for循环来遍历每一行和每一列。在每一点我们放置X[i][j]元素成结果[j][i].

使用嵌套列表理解的矩阵转置

''' Program to transpose a matrix using list comprehension'''

X = [[12,7],
    [4 ,5],
    [3 ,8]]

result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]

for r in result:
   print(r)

该程序的输出与上述相同。我们使用嵌套列表推导来遍历矩阵中的每个元素。

相关文章