python 矩阵转置的写法

方法一:列表生成式

>>>a = [[1,2,3],[4,5,6],[7,8,9]]
>>>t = [[a[i][j] for i in range(row)] for j in range(colume)]
>>>t
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

方法二:使用Python内置的zip函数

>>>a = [[1,2,3],[4,5,6],[7,8,9]]
>>>t = list(zip(*a))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

知识点补充:在列表前加星号作用是将列表解开成两个独立的参数,传入函数,还有类似的有两个星号,是将字典解开成独立的元素作为形参。

def add(a, b):
    return a+b
 
data = [4,3]
print add(*data)
#equals to print add(4, 3)
data = {'a' : 4, 'b' : 3}
print add(**data)
#equals to print add(4, 3)