所以我以这种方式迭代列表中的项目:
for virus in viruses:
do stuff
remove virus
如果我有索引,我就可以做 delvirus[i],而且我显然可以调整代码来做类似
for index in range(0, len(viruses))
的事情,但是对于我想在 for 中做的其他事情,这开始使代码很快变得丑陋环形。无论如何,我可以根据我当前正在迭代的病毒名称删除吗? 最佳答案
这个怎么样:
for virus in viruses[:]:
# do stuff
viruses.remove(virus) # remove "virus" from the original list
viruses[:]
创建我们的 viruses
列表的副本。请注意,您还可以使用 list(oldlist)
来复制列表(我发现这更具可读性,但两者都可以)。您可以在 python here 中阅读有关列表的更多信息。关于python - 从没有索引的列表中删除元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12698915/