列表索引超出范围

1 投票
3 回答
7704 浏览
提问于 2025-04-16 10:33

这怎么可能呢?我有一个叫“temp”的列表。这是我在Python解释器里看到的内容。

In [150]: len(temp)
Out[150]: 773942

In [151]: temp[773942]

然后我遇到了一个错误:IndexError:列表索引超出范围。

我很困惑,因为它刚刚告诉我这个列表里有773942个值,现在却又告诉我索引超出范围了?

3 个回答

0

在Python中,len()这个函数可以告诉你列表里有多少个元素。不过,列表的索引是从0开始的。举个例子:

>>>a = [1,2,3]
>>>len(a)
3
>>>a[0]
1
>>>a[2]
3

因此,Python列表的最大索引是len(list) - 1,如果你用超过这个范围的索引,就会出现错误。

1

索引是从零开始的,所以最后一个元素的索引是总长度减去一。

11

列表的索引范围是从 0len(temp) - 1。你的索引超出了范围。

比如说,一个长度为三的列表,它的索引是这样的:

["a",   "b",   "c"]
 ^      ^      ^
 0      1      2

访问索引 3 就是超出了列表的末尾。

撰写回答