Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich alle Instanzen eines Werts aus einer Python-Liste entfernen?
Alle Vorkommen eines Werts aus einer Liste entfernen
Während Pythons Methode „remove()“ das Entfernen eines einzelnen Vorkommens eines Werts ermöglicht Aus einer Liste kann es manchmal erforderlich sein, alle Vorkommen dieses Werts zu entfernen. Hier ist eine Anleitung, um dies zu erreichen:
Funktioneller Ansatz:
In Python bietet die integrierte Funktion filter() eine einfache Möglichkeit, bestimmte Elemente aus einer Liste zu entfernen basierend auf einer gegebenen Bedingung. Mithilfe von Lambda-Ausdrücken oder manuellen Vergleichen können wir alle Vorkommen des Zielwerts herausfiltern:
# Python 3.x >>> x = [1, 2, 3, 2, 2, 2, 3, 4] >>> list(filter((2).__ne__, x)) [1, 3, 3, 4]
Dadurch wird effektiv eine neue Liste mit Elementen gefiltert und zurückgegeben, die nicht dem Entfernungsziel (2) entsprechen Entfernen aller Vorkommen von 2.
Alternativ:
>>> list(filter(lambda a: a != 2, x)) [1, 3, 3, 4]
Hier vergleicht der Lambda-Ausdruck jedes Element direkt mit 2 und gibt zurück True, wenn es nicht gleich ist, die Zielwerte werden herausgefiltert.
Für Python 2.x gibt die Filterfunktion einen Iterator zurück:
# Python 2.x >>> filter(lambda a: a != 2, x) [1, 3, 3, 4]
In beiden Python-Versionen ist das Ergebnis eine Liste oder Iterator, der die Elemente enthält, die die Filterbedingungen erfüllen, wodurch der Zielwert effektiv aus der ursprünglichen Liste ausgeschlossen wird.
Das obige ist der detaillierte Inhalt vonWie kann ich alle Instanzen eines Werts aus einer Python-Liste entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!