Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Elemente während der Iteration in Python effizient aus einer Liste entfernen?
Das Durchlaufen von Listen bei gleichzeitigem Entfernen von Elementen kann eine Herausforderung darstellen. Ein häufiges Szenario ist der Versuch, ein Element basierend auf einem bestimmten Kriterium zu entfernen. In solchen Situationen ist es von entscheidender Bedeutung, die geeignete Methode zum Entfernen von Elementen zu bestimmen.
Berücksichtigen Sie diese beiden effizienten Ansätze:
Erstellen Sie eine neue Liste, die nur die gewünschten Elemente enthält, unter Verwendung des Listenverständnisses:
somelist = [x for x in somelist if not determine(x)]
Alternativ können Sie die vorhandene Liste direkt ändern, indem Sie ihrem Slice Folgendes zuweisen:
somelist[:] = [x for x in somelist if not determine(x)]
Dieser Ansatz ist vorteilhaft, wenn mehrere Verweise auf eine Liste vorhanden sind und die Änderungen widerspiegeln müssen.
Itertools bietet einen praktischen Ansatz als Nun:
Python 2:
from itertools import ifilterfalse somelist[:] = ifilterfalse(determine, somelist)
Python 3:
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
Das obige ist der detaillierte Inhalt vonWie kann ich Elemente während der Iteration in Python effizient aus einer Liste entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!