python - Python中的矩阵转置

标签 python list multidimensional-array

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

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

我希望我的功能能够提出

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

换句话说,如果我要将这个二维数组打印为列和行,我希望行变成列,列变成行。

到目前为止我做了这个,但它不起作用

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

最佳答案

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')]

关于python - Python中的矩阵转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937491/

相关文章:

java - 如何显示列表中一项的 View 并对其他项隐藏。?

python - 更改列表python中多个项目的值

java - C# 列表实现...Java 中

C 编程奇怪的结构设置

C++ 2DArray 对象;指针和数组问题

python - 将 Unicode 与字符串 : print '£' + '1' works, 连接但打印 '£' + u'1' 会抛出 UnicodeDecodeError

python - 解析 Python 文件以检索变量、值、函数定义

python - 使用斐波那契数列打印出单词

python - 在 matplotlib 中对齐图例行

c - 在结构体中使用指向动态二维数组的指针