【发布时间】:2017-10-23 20:34:27
【问题描述】:
对于 for 循环中的每个元素,我想检查元素是否满足某些条件。如果是,我想对它做点什么;如果没有,我想将它添加到列表的末尾并稍后再做。
我知道在循环时修改循环是不好的,但我还是想这样做,并且想知道如何正确地这样做。
for i in list:
if something(i):
do(i)
else:
#append to end of list, do later
list.remove(i)
list.append(i)
这段代码大部分都有效,但导致我在迭代时跳过删除 i 之后的元素。我该如何解决这个问题?
【问题讨论】:
-
发布您的
list和edges -
@RomanPerekhrest 我认为
list和edges是同一个列表。 -
哎呀,我的错,搞砸了泛型化
标签: python list for-loop iterator