a = [0,1,2,3,4,5]
for b in a:
print ":"+str(b)
a.pop(0)
认为这可以按顺序遍历整个列表及其所有项目,我运行了此代码并期望这一点。
:0
0
:1
1
:2
2
:3
3
:4
4
:5
5
相反,我得到了这个:
:0
0
:2
1
:4
2
现在我明白为什么会发生这种情况,但这是python中的错误吗?它不应该仍然遍历所有原始对象而不是当前列表的长度吗?为什么这没有抛出和越界错误?IE:它不应该已经完成了吗:
:0
0
:1
2
:2
4
:3
Error
:4
Error
:5
Error