尝试访问第N'个项目时,&Quot;IndexError:列表索引超出范围是否意味着我的列表少于N个项目?

2022-02-20 00:00:00 python list indexoutofboundsexception

问题描述

我告诉我的程序打印输出的第53行。此错误是否告诉我行数不多,因此无法打印出来?


解决方案

如果您有一个包含53个项目的列表,则最后一个项目是thelist[52],因为索引从0开始。


发件人Real Python: Understanding the Python Traceback - IndexError

IndexError

当您尝试从序列(如listtuple)检索索引时,会引发IndexError,但在序列中找不到该索引。Python文档定义了何时引发此异常:

在序列下标超出范围时引发。(Source)

这里有一个引发IndexError

的示例
test = list(range(53))
test[53]

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-6-7879607f7f36> in <module>
      1 test = list(range(53))
----> 2 test[53]

IndexError: list index out of range
IndexError的错误消息行没有为您提供大量信息。您可以看到,您有一个out of range序列引用,以及序列的类型是什么,在本例中是list。这些信息结合回溯的睡觉通常足以帮助您快速确定如何解决该问题。

相关文章