Python中的矩阵转置 [英] Matrix Transpose in Python

查看:197
本文介绍了Python中的矩阵转置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to create a matrix transpose function for python but I can't seem to make it work. Say I have

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

我想提出我的功能

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

换句话说,如果我要将此2D数组打印为列和行,我希望将行变成列,将列变成行.

So in other words, if I were to print this 2D array as columns and rows I would like the rows to turn into columns and columns into rows.

到目前为止,我做到了,但是没用

I made this so far but it doesn't work

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中的矩阵转置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆