首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在迭代期间对列表项感到困惑

在迭代期间对列表项感到困惑
EN

Stack Overflow用户
提问于 2019-04-12 04:45:51
回答 1查看 0关注 0票数 0

这个问题在这里已有答案:

  • 从列表中删除项目时的奇怪结果[重复] 4个答案

我正在检查是否可以删除for循环中的列表项,并在下一次迭代之前仍然使用它,这就发生了。

items = ['1','2','3','4']
for i in items:
    items.remove(i)
    print(i)

结果:

1
3

我希望print语句失败,或者打印所有数字。我不理解for循环迭代足以理解结果。

EN

回答 1

Stack Overflow用户

发布于 2019-04-12 14:09:06

问题是,你正在迭代列表的同时删除项目,这与基础迭代机制混淆,这就是你看到奇怪行为的原因。以下是从您的代码中学习的经验:永远不要同时迭代和删除!但有一个例外 - 如果你向后迭代它实际上会工作:

items = ['1','2','3','4']

for i in reversed(items):
    items.remove(i)
    print(i)

4
3
2
1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档