3

我有一个格式为的python数组:

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

有没有办法让我把它分成几列来给出:

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

2 回答 2

6

我认为 NumPy 对此有好处:

>>> import numpy as np
>>> my_list = [[1,2,3],[4,5,6],[7,8,9]]
>>> x = np.array(my_list)
>>> np.transpose(x).tolist()
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
于 2012-04-12T02:33:06.977 回答
4
In [85]: [list(x) for x in zip(*[[1,2,3],[4,5,6],[7,8,9]])]
Out[85]: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

如果您想要元组列表,您可以使用:

In [86]: zip(*[[1,2,3],[4,5,6],[7,8,9]])
Out[86]: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
于 2012-04-12T02:33:54.273 回答