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

如何不使用循环将整数b重复c次插入Python列表的中间位置

你现有方案的问题根源是list.insert()方法仅支持单次插入单个元素:

  • 传入b*c时会先执行整数乘法得到单个数值,仅插入1个计算后的元素
  • 传入[b]*c时会把整个列表作为单个元素插入,最终出现嵌套结构

你可以用列表切片拼接实现需求,全程不需要使用循环,直接拆分列表为前后两部分,中间拼接重复的目标元素列表即可:

# 计算中间索引
mid = len(listA) // 2
# 拼接得到符合要求的扁平列表
listA = listA[:mid] + [b] * c + listA[mid:]
print("Your New List: ", listA)

用你给出的输入测试:
listA = [1,2,3,4,5]、b = 2、c = 3
计算得到mid = 5//2 = 2,拼接后结果为[1,2] + [2,2,2] + [3,4,5],正好是你期望的[1,2,2,2,2,3,4,5]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:39:01