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 中国語 Web サイトの他の関連記事を参照してください。