索引器:列表索引超出范围和python
我告诉我的程序打印输出的第53行。这个错误是不是告诉我没有那么多行,因此无法打印出来?是的。序列中没有第54项。如果列表中有53项,则最后一项是列表[52],因为索引从0开始索引器:列表索引超出范围和python,python,list,indexoutofboundsexception,Python,List,Indexoutofboundsexception,我告诉我的程序打印输出的第53行。这个错误是不是告诉我没有那么多行,因此无法打印出来?是的。序列中没有第54项。如果列表中有53项,则最后一项是列表[52],因为索引从0开始 索引器 归因于 当尝试从序列(例如列表,元组)检索索引时,会引发索引器,并且在序列中找不到索引。Python文档定义了何时引发此异常: 当序列下标超出范围时引发。(来源) 下面是一个引发索引器的示例: test=列表(范围(53)) 测试[53] ------------------------------------
索引器
- 归因于
列表
,元组
)检索索引时,会引发索引器
,并且在序列中找不到索引。Python文档定义了何时引发此异常:
当序列下标超出范围时引发。(来源)
下面是一个引发索引器的示例:
test=列表(范围(53))
测试[53]
---------------------------------------------------------------------------
索引器回溯(最后一次最近调用)
在里面
1测试=列表(范围(53))
---->2测试[53]
索引器:列表索引超出范围
索引器的错误消息行
不能提供很好的信息。查看是否存在超出范围的序列引用以及序列的类型,在本例中为列表。这些信息,再加上其余的回溯,通常足以帮助快速确定如何解决问题。没错。”“列表索引超出范围”很可能表示您引用的是列表的第n个元素,而列表的长度小于第n个元素
您正在尝试访问列表中不存在的元素
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
您是否有过一次错误?要克服此错误,请务必记住,索引和范围的默认值从0开始,因此如果项目总数为100,则l[99]和范围(99)将允许您访问最后一个元素
每当您遇到这种类型的错误时,请交叉检查介于/中间范围内的项目,并确保它们的索引不是最后一个。如果您得到输出,那么您就犯了上面提到的完美错误。Python索引的工作方式是它从0开始,因此列表的第一个数字将是[0]。您必须打印[52],因为起始索引是0和
因此,第53行是[52]
从该值中减去1,您就可以了。:) 如果从文本文件中读取列表,则可能会得到最后一个空行作为列表元素。
你可以这样处理它:
list.pop()
for i in list:
i[12]=....
在Python中,索引从0开始。因此,如果您有一个包含53项的列表,list[52]
将是列表中的最后一项