You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将两个列表按交替元素顺序合并为新列表?

交替合并两个列表的解决方案

你需要将两个列表交替合并:取第一个列表的第n个元素,接着取第二个列表的第n个元素,依次排列。原代码中直接用list1 + list2是将第二个列表整体追加到第一个列表末尾,所以无法得到预期结果。

原代码与问题

原代码:

count = 12
list = list(range(count))

list1 = []
list2 = []

for x in range(0, count, 4):
    list1.append(x)

for y in range(3, count, 4):
    list2.append(y)

# 直接拼接不符合需求
newlist = list1 + list2

print(newlist)
print(list)

当前输出:

newlist = [0, 4, 8, 3, 7, 11]

预期输出:

newlist = [0, 3, 4, 7, 8, 11]

解决方案

方法1:循环遍历配对元素

通过zip()函数将两个列表的对应元素配对,再依次添加到新列表中:

newlist = []
for a, b in zip(list1, list2):
    newlist.append(a)
    newlist.append(b)

方法2:列表推导式简化写法

用嵌套列表推导式实现同样逻辑,代码更简洁:

newlist = [item for pair in zip(list1, list2) for item in pair]

运行以上任意一种方法,都能得到你想要的交替排列结果。

内容的提问来源于stack exchange,提问作者Renan Andrade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:24:51