我有两个相同长度的列表:如何将列表与第二个列表组合成列表的单个列表?
l1 = [['a','b'],['b','c'],[]]
l2 = [0,1,3]
我如何做一个清单l3
来自这两个列表这样的:
l3 = [['a','b',0],['b','c',1],[3]]
我有两个相同长度的列表:如何将列表与第二个列表组合成列表的单个列表?
l1 = [['a','b'],['b','c'],[]]
l2 = [0,1,3]
我如何做一个清单l3
来自这两个列表这样的:
l3 = [['a','b',0],['b','c',1],[3]]
提示:这里的答案
l1 = [['a','b'],['b','c'],[]]
l2 = [0,1,3]
l3 = [l1[i] + [x] for i, x in enumerate(l2)]
请注意'enumerate'在这种情况下运行良好,但如果列表长度不同,则会失败。特别是如果'l2'是更长的长度。 –
如果列表不总是相同的长度,他可以使用'zip';) –
@NathanielFord尝试枚举差异长度列表,这是有道理的。 –
您要使用zip
:
l3 = [x + [y] for x, y in zip(l1, l2)]
Zip创建一个('item from first list', 'item from the second list')
形式的元组列表。然后,只需要移动该列表并合并它们即可。 (以上为x+[y]
的部分理解。)
您是否亲自尝试过,遇到问题? – Leb
提示:['zip'](https://docs.python.org/2/library/functions.html#zip)'em –
如果你想创意,你可以做'map(list.append,l1 ,l2)'。它会改变'l1'(并返回一个没有意义的'None'列表)。 –