列表索引超出范围
这怎么可能呢?我有一个叫“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
列表的索引范围是从 0
到 len(temp) - 1
。你的索引超出了范围。
比如说,一个长度为三的列表,它的索引是这样的:
["a", "b", "c"]
^ ^ ^
0 1 2
访问索引 3
就是超出了列表的末尾。