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

Python代码触发IndexError: list index out of range报错求助

问题分析与修复

你的两段代码触发IndexError的核心原因是错误使用[i]代替了farm[i]:

  • [i]是创建了一个仅包含元素i的新列表,比如当i=0时,这个列表只有[0],长度为1,你尝试访问索引1的元素时,自然会超出范围。
  • Version 2里的if i > len(farm)判断完全无效,因为range(len(farm))生成的是0,1(farm长度为2),i永远不会大于2,所以这个条件永远不会触发。

修复后的代码

方式1:保留索引遍历逻辑

farm = [["spinach", 5],["strawberry", 4]]
for i in range(len(farm)):
    print(farm[i][0], " :", farm[i][1], "days left")

方式2:更Pythonic的直接遍历元素(推荐)

直接遍历farm里的子列表,用变量接收作物名和剩余天数,代码更简洁:

farm = [["spinach", 5],["strawberry", 4]]
for crop, days_left in farm:
    print(crop, " :", days_left, "days left")

内容的提问来源于stack exchange,提问作者layered.pizza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:09:51