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

为何这段Python代码会抛出‘list index out of range’错误?

排查"list index out of range"错误的建议

你贴的这段代码里,现有的any(...)判断逻辑和img的空值检查,都不会触发列表索引越界错误。问题肯定出在代码里没明确展示的部分,给你几个具体排查方向:

  • 检查form_data_values的类型和取值:如果它是列表而不是字典,那form_data_values[f'{question}']这种赋值方式本身就有问题——列表只能用整数索引,要是question解析后是个超出列表长度的整数,直接就会报索引越界。如果它是字典,那大概率是form_data本身是列表,且在赋值前有对它做索引操作(比如你没贴的代码里写了form_data[x],x超出了它的长度)。
  • 确认question的实际值:如果question是整数类型,且form_data_values是列表,当question的数值≥len(form_data_values)时,赋值操作必然触发索引越界。
  • 加个完整错误栈追踪:把except块改成下面这样,能直接看到错误发生的具体行和调用链,精准定位问题:
    import traceback
    except Exception as e:
        print(e)
        traceback.print_exc()
    
  • 单独验证赋值行:把form_data_values[f'{question}'] = form_data这行单独拿出来在try块外执行,看是不是这行直接触发的错误,快速缩小排查范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:20:05