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

Python:如何向二级列表的每个子列表开头插入元素?

问题分析与解决

你的代码逻辑单次执行时是正确的,但当前出现的重复插入序号的问题,核心原因是这段循环代码被重复执行了多轮——每次执行都会给每个子列表开头再插一个序号,反复多次后就会积累一串杂乱的数字前缀。

比如第一次执行循环,子列表会变成[1, 0.0, 0.0, 0.0];第二次执行,又会在开头插入新的序号,变成[1, 1, 0.0, 0.0, 0.0];多次执行后就会出现你看到的多序号前缀的结果。

正确实现方式

方式一:创建新列表(推荐,避免误修改原数据)

通过列表推导式生成带序号的新列表,完全不改动原列表:

numbered_nodes = [[i+1] + sublist for i, sublist in enumerate(additional_nodes)]
print(numbered_nodes)

方式二:直接修改原列表(需确保代码只执行一次)

用enumerate简化循环逻辑,同时必须保证这段代码只运行一轮:

for idx, sublist in enumerate(additional_nodes, start=1):
    sublist.insert(0, idx)
print(additional_nodes)

验证方法

执行前先打印原列表的结构,确认每个子列表初始只有3个元素;执行后检查,每个子列表长度应为4(1个序号+3个float元素)。如果长度超过4,就说明代码被重复执行了。

内容的提问来源于stack exchange,提问作者Владислав Петрушин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:40:07