python从入门到实践第二版课后题8-10;.pop函数删除后第一个元素始终删不了

img

img

因为你for循环用的list,循环内部用的也是list。list删除一个后,剩下两个元素,循环还能继续,再删除一个,就剩一个元素了。这时候循环要去取第三个值,没了。。于是循环自动退出,所以删除不了。你用 for i in range(3).这样 固定了,不会受列表长度变化影响了

pop()默认删除最后一个元素,pop(0) 试试 可以删除当前遍历的元素,不然每次删的都是最后一个

代码修改下:for i in range(len(a_list)): 如果有帮助, 往采纳

img
看源码list对象的pop方法不指定参数时,无法删除第一个参数。

因为列表里面用了pop,所以列表是变长的
试试把for条件改为
while(list)
此外,list是python内置方法之一,不建议使用list作为变量名
有帮助望采纳