在 Python中迭代元組列表,嘗試根據特定條件刪除元素criteria:
for tup in somelist: if determine(tup): # How to remove 'tup'?
要在迭代時刪除項目,一種方法是創建一個僅包含所需元素的新列表:
somelist = [x for x in somelist if not determine(x)]
或者,分配給切片somelist[:]突變現有清單:
somelist[:] = [x for x in somelist if not determine(x)]
對於直接突變,itertools 模組提供了filterfalse 函數:
from itertools import ifilterfalse somelist[:] = ifilterfalse(determine, somelist)
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
以上是如何在 Python 中迭代時安全地從列表中刪除項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!