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

Python列表生成递进子列表代码异常:无法获取索引0元素1的排查

代码问题分析与修复

原代码的核心问题

  1. 元素收集逻辑完全错误:内层for j in range(0,i)仅打印j的值,没有实际收集前i个元素,最后只把循环结束后j对应的单个元素(也就是原列表的第i-1位元素)添加到list2,导致list2变成单个元素的累加,完全不是期望的完整前i个元素的子列表。
  2. 变量名违反编码规范:用Python内置类型list作为变量名,会覆盖内置的list()函数,后续代码如果用到列表构造会出问题。
  3. 输出格式不符合预期:期望输出中每次的list2是完整的前n个元素集合,原代码的append逻辑只会逐步添加单个元素,输出结构完全不对。

修复后的代码

original_list = [1, 3, 2, 10, 4, 8, 6]
for i in range(2, len(original_list)):
    current_sub_list = original_list[:i]
    num = original_list[i]
    print(f"list2 = {current_sub_list}  Num = {num}")

运行结果

list2 = [1, 3]  Num = 2
list2 = [1, 3, 2]  Num = 10
list2 = [1, 3, 2, 10]   Num = 4
list2 = [1, 3, 2, 10, 4]    Num = 8
list2 = [1, 3, 2, 10, 4, 8]   Num = 6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:42:28