Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich alle Instanzen eines Werts aus einer Python-Liste entfernen?

Wie kann ich alle Instanzen eines Werts aus einer Python-Liste entfernen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 19:32:14246Durchsuche

How Can I Remove All Instances of a Value from a Python List?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn