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

Python中使用for循环交替合并两个数组的问题

修正交替合并数组的代码问题

原代码的核心问题是循环索引的步长设置错误:v[::2]会让i只取0、2、4……这样的偶数索引,导致你只处理了arr1和arr2中一半的元素,剩下的位置自然留空为None。

修正后的for循环实现

直接遍历每个元素的原始索引,通过计算目标位置来填充合并数组:

arr1 = [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29]
arr2 = [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30]
merged = [None] * 2 * len(arr1)

for j in range(len(arr1)):
    merged[2 * j] = arr1[j]       # 每个arr1元素放在合并数组的偶数位
    merged[2 * j + 1] = arr2[j]   # 每个arr2元素放在对应奇数位

print(merged)

这段代码会输出完整的交替数组:[1, 2, 3, 4, 5, 6, ..., 29, 30],完全兼容整数和字符串数组。

更简洁的实现方式(可选)

如果不想手动维护索引,也可以用zip配合列表推导式,代码更紧凑且同样兼容多种类型:

merged = [item for pair in zip(arr1, arr2) for item in pair]

zip(arr1, arr2)会把两个数组的对应元素配对成元组(比如(1,2)、(3,4)),再通过嵌套推导式把每个元组里的元素依次展开,直接得到交替合并的数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:35:22