合并考虑轴顺序的多个2d列表


问题内容

我的目的是按顺序组合多个2d列表,例如:

a = [[1,2],[3,1]]
b= [[3,6],[2,9]]
c = [[5,1],[8,10]]
Expected: [[1,2,3,6,5,1],[3,1,2,9,8,10]]

遵循此站点的其他建议,我尝试使用类似于以下代码的collections模块:

from collections import Counter
a = [[1,2],[3,1]]
b= [[3,6],[2,9]]
c = [[5,1],[8,10]]
d = [[k,v] for k,v in (Counter(dict(a)) + Counter(dict(b))+ Counter(dict(c))).items()]
print d

但是,结果[[1, 2], [3, 1], [3, 6], [2, 9]]不是我所期望的。

您有解决这个问题的想法吗?也许是否有功能或模块考虑将轴组合在一起。


问题答案:

您可以使用zip列表理解

>>> a = [[1,2],[3,1]]
>>> b = [[3,6],[2,9]]
>>> c = [[5,1],[8,10]]
>>> [x+y+z for x,y,z in zip(a, b, c)]
[[1, 2, 3, 6, 5, 1], [3, 1, 2, 9, 8, 10]]
>>>