list1 = [1,2,3,4]
a = 0
for i in range(len(list1)):
#range(len(list1))相当于range(0,4),在遍历过程中i的值依次是0,1,2,3
a = list1.pop(i)
#pop默认从索引-1开始删除元素(最后一个),但如果pop的参数定成i,就是从0开始(第一个)。这样的话,第一个被删掉和返回的值是0号元素1,第二个被删掉和返回的值是1号元素3(这轮循环中列表是[2,3,4])。当第三次pop尝试删掉2号元素时,发现列表里只剩[2,4]且索引只能到1了。所以报错:pop index out of range
print(a) #输出结果:1 3,然后报错pop index out of range。不建议在遍历的过程中更改列表的长度。