Python中的矩阵转置

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


aluckdog
浏览 905回答 3
3回答

Qyouu

Python 2:>>> theArray = [['a','b','c'],['d','e','f'],['g','h','i']]>>> zip(*theArray)[('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]Python 3:>>> [*zip(*theArray)][('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python