迭代列表的同時刪除項目可能會帶來挑戰。常見的情況是嘗試根據特定標準刪除項目。在這種情況下,確定適當的項目刪除方法至關重要。
考慮這兩種有效的方法:
建立一個新的使用 list只包含所需元素的列表理解:
somelist = [x for x in somelist if not determine(x)]
或者,透過分配給其切片來直接修改現有清單:
somelist[:] = [x for x in somelist if not determine(x)]
如果對某個清單的多個引用,此方法是有利的存在並需要反映變更。
Itertools 也提供了一種便捷的方法:
Python 2:
from itertools import ifilterfalse somelist[:] = ifilterfalse(determine, somelist)
Python 3:
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
以上是如何在 Python 迭代過程中有效地從清單中刪除項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!