我是Python的新手,我正在研究矩阵的转置,但是我发现任何简短的过程都需要很长的代码!
mymatrix=[(1,2,3),(4,5,6),(7,8,9),(10,11,12)]
for myrow in mymatrix:
print(myrow)
print("\n")
t_matrix = zip(*mymatrix)
for myrow in t_matrix:
print(myrow)
答案 0 :(得分:7)
您需要安装numpy才能导入它 numpy转置在以下情况下返回相似结果 应用于一维矩阵
import numpy
mymatrix=[[1,2,3],[4,5,6]]
print(mymatrix)
print("\n")
print(numpy.transpose(mymatrix))
答案 1 :(得分:4)
import numpy as np
matrix = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]] )
print(matrix.T)
不使用numpy
编辑:同时适用于Python2和Python3
Python3
[*zip(*matrix)]
Python2
zip(*matrix)
答案 2 :(得分:4)
使用zip
:
mymatrix=[(1,2,3),(4,5,6),(7,8,9),(10,11,12)]
myTransposedMatrix = list(zip(*mymatrix))
>>> myTransposedMatrix
[(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]