如何将列表与交替元素合并?
我们有两个列表list1 = [10,30,50],list2 = [2,4,6],我们想要输出[10,2,30,4,50,6](相对于[10,30,50,2,4,6],它更容易生成)。列表可能很长,因此手动解决方案list1[0] + list2[0] + list1[1] + ...对我们来说不可行。
回答
zip() 从每个列表中一次抓取一个项目并将它们配对:
>>> list(zip(list1, list2))
[(1, 2), (3, 4), (5, 6)]
然后,您可以使用第二个循环来展平对:
>>> [item for pair in zip(list1, list2) for item in pair]
[1, 2, 3, 4, 5, 6]
请注意,如果列表长度不同,zip()则会忽略较长列表中的额外项目。