在Python中矩阵转置

问题:

我正在尝试为python创建一个矩阵转置函数,但我似乎无法使其工作。
说我有

theArray = [['a','b','c'],['d','e','f'],['g','h','i']]

我想让我的功能想出来

newArray = [['a','d','g'],['b','e','h'],['c', 'f', 'i']]

所以换句话说,如果我打印这个2D数组作为列和行,我希望行将列和列变成行。
我做到这一点,但它不工作

def matrixTranspose(anArray):
    transposed = [None]*len(anArray[0])
    for t in range(len(anArray)):
        for tt in range(len(anArray[t])):
            transposed[t] = [None]*len(anArray)
            transposed[t][tt] = anArray[tt][t]
    print transposed

回答:

>>> theArray = [['a','b','c'],['d','e','f'],['g','h','i']]
>>> zip(*theArray)
[('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Matrix Transpose in Python

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

81 − 75 =