我正在寻找一个Python函数,给定2d数组A,该函数将输出B:
A = [[a, b, c],
[d, e, f],
[g, h, i]]
B = [[a, d, g],
[b, e, h],
[c, f, i]]
即第一行成为第一列,第二行成为第二列,等等。
谢谢。
答案 0 :(得分:1)
A = [[a, b, c],
[d, e, f],
[g, h, i]]
B = zip(*A)
答案 1 :(得分:1)
尝试一下
>>> A = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
>>> [list(i) for i in zip(*A)]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]] #output
答案 2 :(得分:0)
所有您需要的是矩阵转置。这是一个例子
import numpy as np
A = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
B = A.T
# array([[1, 4, 7],
# [2, 5, 8],
# [3, 6, 9]])