Python - 数组越界

时间:2016-10-17 16:58:18

标签: python arrays python-2.7 indexoutofboundsexception

大家好日子,

今天我用我的代码挣扎了一个多小时,只是为了发现Python没有给出一个出界的错误。 这是我的汇总代码:

array = []
n = 0
while n < 5:
    array.append(1)
    n = n + 1
print array
for i in range(0,1):
    print i-2
    print array[i-2]

显然,数组[i-2]超出范围,但代码仍然运行。这是输出:

[1, 1, 1, 1, 1]
-2
1

我错过了什么,是我的电脑还是更深入地了解Python中的数组如何工作?

问候

2 个答案:

答案 0 :(得分:4)

您可以使用负数从最后访问Python列表。以同样的方式,some_list[0]为您提供列表中的第一项,some_list[1]为第二项,some_list[-1]将为您提供列表中的最后一个元素,some_list[-2]为第二个等等。

example = [1, 2, 3, 4]
example[-1] = 4
example[-2] = 3

答案 1 :(得分:1)

要开始的注意事项:注意如何调用 python列表,因为 python数组也存在,但它们是不同的对象。

然后你确实发现了python列表的一个属性:为了你使用负面索引的方便,将从列表末尾循环,这意味着some_list[-1]等同于some_list[len(some_list)-1]