有没有什么快速的方法可以在Python中进行矩形2D矩阵的转置(不涉及任何库导入)?
比如说,如果我有一个数组
X=[ [1,2,3],
[4,5,6] ]
我需要一个数组Y,它应该是X的转置版本,所以
Y=[ [1,4],
[2,5],
[3,6] ]
发布于 2010-05-27 21:55:52
>>> X = [1,2,3], [4,5,6]]
>>> zip(*X)
[(1,4), (2,5), (3,6)]
>>> [list(tup) for tup in zip(*X)]
[[1,4], [2,5], [3,6]]
如果内部对绝对需要是列表,那么就使用第二个。
发布于 2010-05-27 22:11:25
如果您正在处理矩阵,那么您几乎肯定应该使用numpy。这将比纯Python代码更容易、更有效地执行数值运算。
>>> x = [[1,2,3], [4,5,6]]
>>> x = numpy.array(x)
>>> x
array([[1, 2, 3],
[4, 5, 6]])
>>> x.T
array([[1, 4],
[2, 5],
[3, 6]])
“不涉及任何库导入”是一个愚蠢的、非生产性的需求。
https://stackoverflow.com/questions/2921681
复制相似问题