重新排序的元组列表中的列表列表

时间:2016-04-14 04:43:51

标签: python list tuples

如何'pythonic-ly',我可以这样做:

[[x1,y1], [x2,y2]]

分为:

[(x1,x2),(y1,y2)]

2 个答案:

答案 0 :(得分:10)

使用zip和解包操作符。

>>> l = [['x1','y1'], ['x2','y2']]
>>> zip(*l)
[('x1', 'x2'), ('y1', 'y2')]

答案 1 :(得分:2)

在给测试用例中处理了更多案例。

如果列表中的项目具有不同的长度。

In [19]: a
Out[19]: [[1, 2], [3, 4], [5, 6], [7, 8, 9]]

In [20]: import itertools

In [21]: b = itertools.izip_longest(*a)

In [22]: list(b)
Out[22]: [(1, 3, 5, 7), (2, 4, 6, 8), (None, None, None, 9)]