我有一份名单
a = [[1,2],[3,4],[5,6],[7,8],[9,10]]结果
New_a = [[1,3,5,7,9],[2,4,6,8,10]]任何聪明的方法或者python内置的函数都能解决这个问题?
发布于 2013-11-01 02:25:27
import numpy as np
a = np.array([[1,2],[3,4],[5,6],[7,8],[9,10]])结果:
>>> a
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])
>>> a.T
array([[ 1, 3, 5, 7, 9],
[ 2, 4, 6, 8, 10]])发布于 2013-11-01 02:06:06
list(zip(*a))
Out[6]: [(1, 3, 5, 7, 9), (2, 4, 6, 8, 10)]说明:zip接受两个或多个可迭代性,并将它们拼接在一起,其中“第一个元素来自于第一个可迭代参数”。星型运算符解压缩a,以便将元素拉链在一起,而不是子列表。
发布于 2013-11-01 02:12:06
您可以将zip与扁平运算符*结合使用。
[list(t) for t in zip(*a)]如果(1)您使用的是Python2,并且(2)您不介意获得一个元组列表而不是一个列表,那么您也可以单独使用zip(*a)。
https://stackoverflow.com/questions/19719700
复制相似问题