Python 反转矩阵值

Python 反转矩阵值,python,Python,我有一个 a=[[1,2,3],[4,5,6],[7,8,9]] 我想打印一个类似的矩阵形式,但类似于列: 1 4 7 2 5 8 3 6 9 有什么方法可以做到这一点吗?您可以使用zip进行转置: 它应该适用于任何形状,而不仅仅是方形矩阵。它给出的唯一不可靠的结果是当a只有一行时 您可以使用join以所需的形式打印它: 或者,正如@ssm所建议的,一行: print '\n'.join(' '.join(map(str,x)) for x in zip(*a)) 最后,使用num

我有一个

a=[[1,2,3],[4,5,6],[7,8,9]]
我想打印一个类似的矩阵形式,但类似于列:

 1 4 7 
 2 5 8
 3 6 9

有什么方法可以做到这一点吗?

您可以使用zip进行转置:

它应该适用于任何形状,而不仅仅是方形矩阵。它给出的唯一不可靠的结果是当a只有一行时

您可以使用join以所需的形式打印它:

或者,正如@ssm所建议的,一行:

print '\n'.join(' '.join(map(str,x)) for x in zip(*a))
最后,使用numpy:

print '\n'.join(' '.join(map(str,x)) for x in np.transpose(a))

如果您只想打印,可以执行以下操作,尽管我假设矩阵是矩形的

a=[[1,2,3],[4,5,6],[7,8,9]]

for i in xrange(len(a[0])):
   print " ".join(str(a[j][i]) for j in xrange(len(a)))
您可以打印如下矩阵:

def print_row_maj(m):
    for row in m:
       print ' '.join(str(x) for x in row)
结合这一点,打印您的转置不倒置!矩阵

def transpose(m):
    return zip(*m)

a=[[1,2,3],[4,5,6],[7,8,9]]    

print_row_maj( transpose(a) )

}

@JonathonReinhart,很公平。不过,我是在逐字逐句地解释这个问题。如果用户接受另一个答案,我将删除此答案。@user2864740,我删除了硬编码的边界。此外,它需要转换为如下字符串:'\n'.join[''.joinmapstr,zip*a中的x代表x]。好好利用拉链*!
def print_row_maj(m):
    for row in m:
       print ' '.join(str(x) for x in row)
def transpose(m):
    return zip(*m)

a=[[1,2,3],[4,5,6],[7,8,9]]    

print_row_maj( transpose(a) )
var arrnew = new Array();
arrnew = [[2, 3, 4], [4, 5, 7], [5, 6, 9]];

for (var i = 0; i < arrnew.length; i++) {
console.log(arrnew[i][0] + " " + arrnew[i][1] + " " + arrnew[i][2]);