Iterieren durch eine Liste von Tupeln in Python, wobei versucht wird, Elemente basierend auf bestimmten Kriterien zu entfernen:
for tup in somelist: if determine(tup): # How to remove 'tup'?
Ein Ansatz umfasst das Entfernen von Elementen während der Iteration Erstellen einer neuen Liste, die nur die gewünschten Elemente enthält:
somelist = [x for x in somelist if not determine(x)]
Alternativ mutiert das Zuweisen von somelist[:] zum Slice die vorhandene Liste:
somelist[:] = [x for x in somelist if not determine(x)]
Für die direkte Mutation das itertools-Modul stellt die Funktion filterfalse bereit:
from itertools import ifilterfalse somelist[:] = ifilterfalse(determine, somelist)
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente sicher aus einer Liste, während ich in Python iteriere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!