【发布时间】:2012-12-06 00:50:47
【问题描述】:
我是 Python 新手,正在尝试使用列表 我在 linux2 上使用 Python 3.2.3(默认,2012 年 10 月 19 日,20:13:42),[GCC 4.6.3]
这是我的示例代码
>>> l=[1,2,3,4,5,6]
>>> for i in l:
... l.pop(0)
... print(l)
...
我希望得到以下输出
1
[2, 3, 4, 5, 6]
2
[3, 4, 5, 6]
3
[4, 5, 6]
4
[5, 6]
5
[6]
6
[]
相反,我得到了这个
1
[2, 3, 4, 5, 6]
2
[3, 4, 5, 6]
3
[4, 5, 6]
for 循环在 3 圈后停止迭代。谁能解释一下原因?
【问题讨论】:
-
@NedBatchelder:虽然根本原因相同,但问题却大不相同。调用
pop的原因甚至不一样(链接试图跳过,这个不是)。
标签: python list loops for-loop