我有兩個相同長度的列表:如何將列表與第二個列表組合成列表的單個列表?
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'列表)。 –