【发布时间】:2013-01-06 02:23:08
【问题描述】:
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
【问题讨论】:
标签: python python-2.7