如何将列表与交替元素合并?

Can*_*ice 0 python concatenation

我们有两个列表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] + ...对我们来说不可行。

Joh*_*ica 5

zip() 从每个列表中一次抓取一个项目并将它们配对:

>>> list(zip(list1, list2))
[(1, 2), (3, 4), (5, 6)]
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用第二个循环来展平对:

>>> [item for pair in zip(list1, list2) for item in pair]
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

请注意,如果列表长度不同,zip()则会忽略较长列表中的额外项目。