3-7Python练习缩减名单:为什么我这个会out of range

img

img

题目中的名单列表经过添加后变成了6个,索引分别为0至5,第一次pop(0)后,列表只有5个元素,第二次pop后只剩4个元素,第三次pop了第4个元素后,列表只有三个元素了,此时再用pop(4),索引已经越界,所以报错。

list index out of range 错误出现的原因主要有两个,一个可能是下标超出范围,一个可能是list是空的,没有一个元素
你前边每pop()移除一个元素,列表的长度就减少一个,到pop(4)时,列表的长度是 4,只有0到3下标的元素,没有下标4的元素了。

看了你的程序,names这个数组应该有四个值,下标取值范围应该是0-3 ,你最后names.pop(4) 对应的应该是第五个值,超过了当前数组的最大长度,所以越界了