合并列表列表

use*_*467 4 python merge list

我有两个列表,列表具有相同数量的项目.这两个列表如下所示:

L1 = [[1, 2], [3, 4], [5, 6, 7]]

L2 =[[a, b], [c, d], [e, f, g]]

我想创建一个看起来像这样的列表:

Lmerge = [[[a, 1], [b,2]], [[c,3], [d,4]], [[e,5], [f,6], [g,7]]]

我试图使用map():

map(list.__add__, L1, L2) 但输出产生一个平面列表.

组合两个列表列表的最佳方法是什么?提前致谢.

tob*_*s_k 7

您可以再次zip列出清单,然后再zip生成结果元组...

>>> L1 = [[1, 2], [3, 4], [5, 6, 7]]
>>> L2 =[['a', 'b'], ['c', 'd'], ['e', 'f', 'g']]
>>> [list(zip(a,b)) for a,b in zip(L2, L1)]
[[('a', 1), ('b', 2)], [('c', 3), ('d', 4)], [('e', 5), ('f', 6), ('g', 7)]]
Run Code Online (Sandbox Code Playgroud)

如果你需要一直下来的列表,结合`map:

>>> [list(map(list, zip(a,b))) for a,b in zip(L2, L1)]
[[['a', 1], ['b', 2]], [['c', 3], ['d', 4]], [['e', 5], ['f', 6], ['g', 7]]]
Run Code Online (Sandbox Code Playgroud)