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

如何不定义新函数,交替合并两个字符串列表?

解决列表交替合并问题

你的代码问题出在insertcounter的步长上——每次插入元素后,原列表lst1的长度会增加1,后续元素的索引都往后偏移了一位,所以下次插入的位置应该在上次的基础上加2,而不是加1。

修改后的代码如下:

lst1 = ['the', 'brown', 'jumps', 'the', 'dog']
lst2 = ['quick', 'fox', 'over', 'lazy']

insertcounter = 1
for k in lst2:
    lst1.insert(insertcounter, k)
    insertcounter += 2  # 每次插入后,步长改为2

运行这段代码后,lst1就会变成你想要的结果:

['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

另一种更直观的写法是利用enumerate获取lst2的元素索引,直接计算插入位置:

lst1 = ['the', 'brown', 'jumps', 'the', 'dog']
lst2 = ['quick', 'fox', 'over', 'lazy']

for idx, item in enumerate(lst2):
    lst1.insert(1 + 2*idx, item)

这种方式不需要维护额外的计数器,直接通过索引计算插入位置,逻辑更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 14:45:42