索引器:列表索引超出范围和python

索引器:列表索引超出范围和python,python,list,indexoutofboundsexception,Python,List,Indexoutofboundsexception,我告诉我的程序打印输出的第53行。这个错误是不是告诉我没有那么多行,因此无法打印出来?是的。序列中没有第54项。如果列表中有53项,则最后一项是列表[52],因为索引从0开始 索引器 归因于 当尝试从序列(例如列表,元组)检索索引时,会引发索引器,并且在序列中找不到索引。Python文档定义了何时引发此异常: 当序列下标超出范围时引发。(来源) 下面是一个引发索引器的示例: test=列表(范围(53)) 测试[53] ------------------------------------

我告诉我的程序打印输出的第53行。这个错误是不是告诉我没有那么多行,因此无法打印出来?

是的。序列中没有第54项。

如果列表中有53项,则最后一项是列表[52],因为索引从0开始

索引器
  • 归因于
当尝试从序列(例如
列表
元组
)检索索引时,会引发
索引器
,并且在序列中找不到索引。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]
将是列表中的最后一项