在python中串联多个列表

我在python中有多个列表列表:

a = [[[0,1,2], [10,11,12]],
     [[3,4,5], [13,14,15]]]

我想将所有第一个列表合并在一起,将第二个列表合并在一起,依此类推:

final = [[0,1,2,3,4,5],
         [10,11,12,13,14,15]]

我最想知道的是尝试解压缩外部列表:

zip(*a) = [([0,1,2], [3,4,5]), 
           ([10,11,12], [13,14,15])]

我想可以遍历这些内容,然后将它们链接在一起,但这似乎很浪费.解决此问题的Python方法是什么?

注意:
每个“行”中可能有两个以上的子列表.

解决方法:

zip()itertools.chain()的组合可以做到:

In [1]: from itertools import chain

In [2]: [list(chain(*lists)) for lists in zip(*a)]
Out[2]: [[0, 1, 2, 3, 4, 5], [10, 11, 12, 13, 14, 15]]
上一篇:python-itertools.product是否懒惰地评估其参数?


下一篇:扰乱Python itertools groupby中的奇怪行为/错误?