为什么“for item in list”循环只走了一半?

2024-04-18 17:10:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图修改一个包含超过100行代码的循环函数。在

如果我在python中有一个循环遍历一个列表,为什么for item in list:循环只完成了一半呢?它不应该一直循环直到所有项目弹出吗?在

例如,如果我有这个列表:

 l1 = [1,2,3,4,5,6]


    for item in l1:
        l1.pop(0)
        print l1

无论列表中包含多少项,只有当弹出列表的50%时才会结束:

以上代码的输出:

^{pr2}$

我仍然可以在不改变for item in l1:循环的情况下弹出列表中的每个项目吗?在


Tags: 项目函数代码inl1列表for情况
1条回答
网友
1楼 · 发布于 2024-04-18 17:10:07

您可以创建列表的副本并从原始列表弹出:

In [1]: l1 = [1,2,3,4,5,6]

In [2]: for item in l1[:]:
   ...:     l1.pop(0)
   ...:     print l1
   ...:     
[2, 3, 4, 5, 6]
[3, 4, 5, 6]
[4, 5, 6]
[5, 6]
[6]
[]

然而,这肯定不优雅。在

相关问题 更多 >