我有一个清单
a = ["a", "b", "c", "d", "e"]
我想在 for 循环中删除此列表中的元素,如下所示:
for item in a:
print(item)
a.remove(item)
但这不起作用。我能做些什么?
不允许在使用 a 迭代列表时从列表中删除元素for
loop.
重写代码的最佳方法取决于您想要做什么。
例如,您的代码相当于:
for item in a:
print(item)
a[:] = []
或者,您可以使用while
loop:
while a:
print(a.pop())
我正在尝试删除符合条件的项目。然后我转到下一个项目。
您可以复制每个元素doesn't将条件匹配到第二个列表中:
result = []
for item in a:
if condition is False:
result.append(item)
a = result
或者,您可以使用filter或列表理解并将结果分配回a
:
a = filter(lambda item:... , a)
or
a = [item for item in a if ...]
where ...
代表您需要检查的条件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)