#1 楼
如果您有一个包含53个项目的列表,则最后一个是thelist[52]
,因为索引从0开始。尝试从序列中检索索引时(例如IndexError
,IndexError
),将引发IndexError
,但在序列中找不到索引。 Python文档定义了引发此异常的时间:序列下标超出范围时引发。 (来源)
这是一个引发
list
的示例:提供重要信息。请注意,存在一个超出范围的序列引用以及该序列的类型,在这种情况下为tuple
。该信息加上其余的追溯信息通常足以帮助快速确定如何解决此问题。#2 楼
是的,,您正在尝试访问列表中不存在的元素。一个错误?
#3 楼
Python索引的工作方式是从0开始,因此列表的第一个数字为[0]。您将必须打印[52],因为起始索引为0且,因此第53行为
[52]
。 :) #4 楼
是。序列中没有第54项。#5 楼
那就对了。 “列表索引超出范围”很可能意味着您正在引用列表的n-th
元素,而列表的长度小于n
。#6 楼
当您要克服此错误时,请始终牢记,索引和范围的默认值从0开始,因此,如果项总数为100,则l [99]和range(99)将允许您访问最后一个元素。 br />每当您遇到这种类型的错误时,请交叉检查范围在中间/中间的项目,并确保它们的索引在输出时不会排在最后,这样您就犯了上述完美的错误。 br />
#7 楼
如果您从文本文件中读取列表,则可能会得到最后一个空行作为列表元素。您可以这样删除它:
list.pop()
for i in list:
i[12]=....
#8 楼
在Python中,索引从0开始。因此,如果您有一个包含53个项目的列表,则list[52]
将是列表中的最后一个项目。