📜  Python程式转置矩阵

📅  最后修改于: 2020-09-21 02:30:57             🧑  作者: Mango

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

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

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

矩阵的转置是行和列的互换。它表示为X'X中的ith行和jth列的元素将放置在X' jth行和ith列。因此,如果X是3×2矩阵,则X'将是2×3矩阵。

以下是在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]元素放入result[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)

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