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

Python使用for循环插入元素 实现列表前5项各重复一次

Python列表前5个元素重复插入实现

需求说明

初始列表代码如下:

list_1 = [1,2,3,4,5,6,7,8,9,10]

需要通过for循环执行插入操作,实现效果:列表前5个元素各重复1次,第6个及之后的元素取值、顺序保持不变,最终得到目标列表:

list_1 = [1,1,2,2,3,3,4,4,5,5,6,7,8,9,10]

实现思路

如果从列表头部开始正向遍历插入,每次插入元素会让列表长度加1,后续未处理元素的索引会整体后移,很容易出现位置错乱的问题。最简便的方式是倒序遍历前5个元素的索引,这样插入操作只会影响已经处理过的位置,不会干扰还没处理的元素索引,不需要额外计算偏移量。

可运行代码

list_1 = [1,2,3,4,5,6,7,8,9,10]

# 倒序遍历前5个元素的索引:从4(对应原列表第5个元素5)到0(对应第1个元素1)
for idx in range(4, -1, -1):
    # 在当前元素的后一位插入和当前值相同的元素
    list_1.insert(idx + 1, list_1[idx])

print(list_1)

运行后输出结果和目标完全一致:
[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10]

补充说明

如果一定要用正向遍历的方式实现,需要额外维护偏移量记录已经插入的元素个数,每插入一个元素,后续的插入位置就要多往后挪1位,参考代码如下:

list_1 = [1,2,3,4,5,6,7,8,9,10]
insert_offset = 0
for i in range(5):
    current_real_index = i + insert_offset
    list_1.insert(current_real_index + 1, list_1[current_real_index])
    insert_offset += 1

这种写法逻辑和倒序遍历完全等价,但代码更冗余,不推荐优先使用。


内容的提问来源于stack exchange,提问作者Prathap David Carlo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:42:24