Py学习  »  Python

当我要求python给出-1[重复]处的值时,它会给出list的最后一个值。

PythonPro • 6 年前 • 1783 次点击  

这个问题已经有了答案:

我正在处理数据结构,当使用列表时,我遇到了一个bug。 当我尝试访问index-1时,python给出了列表中的最后一个条目。

我打开了python shell,运行了以下命令:

>>> l = [0,1,2]
>>> l[-1]
2
>>> l[3]
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    l[3]
IndexError: list index out of range

这可能是由于python 3.7.1上的一个bug造成的,但是除了更新python之外,还有其他方法可以修复这个问题吗?我正在做一个项目。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39368
文章 [ 2 ]  |  最新文章 6 年前
Alexis
Reply   •   1 楼
Alexis    6 年前

您有以下列表: L=[0,1,2]列表的长度为3,您有3个项目,但索引从0开始,因此:

L[1]=1

L[2]=2

L[3]超出范围,因为列表从0变为2

当使用负索引时,从右边移动。

L[-2]=1

Shep
Reply   •   2 楼
Shep    6 年前

负指数意味着你是从右边数,而不是从左边数。所以l[-1]访问数组中的最后一个索引,l[-2]访问从第二个到最后一个的索引,等等。

l[3]不起作用,因为你的指数是0、1和2,没有3。