我得到了这个清单:
input = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
我想为每个索引项创建新列表:
即。
output = [[1,5,9],[2,6,10],[3,7,11],[4,8,12]]
答案 0 :(得分:8)
这是何时使用zip的典型示例:
In [6]: inlist = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
In [7]: out=zip(*inlist)
In [8]: out
Out[8]: [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
或者,获取列表列表(而不是元组列表):
In [9]: out=[list(group) for group in zip(*inlist)]
In [10]: out
Out[10]: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
答案 1 :(得分:4)
使用zip()
:
input = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
output = zip(*input)
这将为您提供元组列表。要获取列表列表,请使用
output = map(list, zip(*input))