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

Python访问嵌套列表元素报IndexError索引越界是什么原因

IndexError 报错原因

首先拆解你给出的嵌套列表结构:

  • 最外层是长度为150的大列表,每个元素都是独立的子列表
  • 所有子列表的长度均为1,每个子列表内仅存储1个字典格式的交易记录。Python列表索引从0开始计数,因此这类子列表的合法索引只有0,不存在索引为1的元素。

你执行的代码print(lst[0][1])运行逻辑如下:

  1. lst[0]:取最外层大列表的第一个子列表,这一步逻辑合法,不会触发报错
  2. 后续的[1]:尝试在刚才取出的长度为1的子列表中访问索引为1的元素,该位置不存在任何值,超出了列表的索引范围,因此抛出IndexError: list index out of range错误。

正确访问示例

如果需要访问第一个子列表内存储的交易字典,索引需要从0开始编写:

# 访问第一条交易记录的完整字典
print(lst[0][0])
# 输出: {'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}

# 访问第一条交易记录的金额字段
print(lst[0][0]['money'])
# 输出: 158.0

小提示:Python里列表、元组这类有序序列的索引都是从0开始计数,访问元素前可以先用len()查下对应序列的长度,能避免大部分索引越界问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 04:54:24