[英]python: Merge two 1D lists into one 1D list
我想合並兩個列表的真實含義:
>>> l1 = [1,2,3,4]
>>> l2 = [9,8,7,6]
>>> merged(l1, l2)
[1,9,2,8,3,7,4,6]
我可以輕松地:
>>> m = []
>>> for i1,i2 in zip(l1,l2):
m.extend([i1,i2])
>>> m
[1,9,2,8,3,7,4,6]
但我想知道是否還有更優雅的東西?
ps:有成千上萬的問題聲稱要合並列表,但是我發現並沒有做到這一點-如果我迷失了真實的問題,我深表歉意!
[item for items in zip(l1, l2) for item in items]
# [1,9,2,8,3,7,4,6]
或者您可以像這樣使用itertools.chain
from itertools import chain
list(chain.from_iterable(zip(l1, l2)))
# [1,9,2,8,3,7,4,6]
使用zip
和列表理解:
>>> l1 = [1,2,3,4]
>>> l2 = [9,8,7,6]
>>> [x for xs in zip(l1, l2) for x in xs]
[1, 9, 2, 8, 3, 7, 4, 6]
這個怎么樣:
>>> l1 = [1,2,3,4]
>>> l2 = [9,8,7,6]
>>> sum(zip(l1,l2),())
(1, 9, 2, 8, 3, 7, 4, 6)
>>>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.