Heim > Backend-Entwicklung > Python-Tutorial > Wie entferne ich beim Iterieren in Python sicher Elemente aus einer Liste?

Wie entferne ich beim Iterieren in Python sicher Elemente aus einer Liste?

Barbara Streisand
Freigeben: 2024-12-30 05:05:09
Original
853 Leute haben es durchsucht

How to Safely Remove Elements from a List While Iterating in Python?

Elemente aus einer Liste während der Iteration entfernen

Beim Durchlaufen einer Liste in Python ist es wichtig zu wissen, wie Elemente entfernt werden, die bestimmte Anforderungen erfüllen Kriterien. Der Versuch, eine Liste während der Iteration zu ändern, kann jedoch zu Problemen führen.

Das Dilemma

Betrachten Sie den folgenden Codeblock:

for tup in somelist:
    if determine(tup):
         # How do I remove 'tup' here?
Nach dem Login kopieren

Wie kann Sie entfernen tup aus der Liste und behalten dabei das bei Iterator?

Lösungen

Es gibt mehrere Lösungen für dieses Problem:

1. Listenverständnis

somelist = [x for x in somelist if not determine(x)]
Nach dem Login kopieren

Diese Methode erstellt eine neue Liste, die nur die Elemente enthält, die nicht entfernt werden müssen.

2. Slice-Zuweisung

somelist[:] = [x for x in somelist if not determine(x)]
Nach dem Login kopieren

Diese Zuweisung ändert die vorhandene Liste so, dass sie nur die gewünschten Elemente enthält.

3. Itertools

from itertools import filterfalse
somelist[:] = filterfalse(determine, somelist)
Nach dem Login kopieren

Dieser Ansatz verwendet Pythons Filterfalse-Funktion, um unerwünschte Elemente herauszufiltern.

Zusätzliche Hinweise

  • Die Bestimmung Funktion ist ein Platzhalter für Ihre benutzerdefinierte Kriterienfunktion, der bestimmt, welche Elemente entfernt werden sollen.
  • Die Slice-Zuweisung Die Lösung kann nützlich sein, wenn andere Verweise auf eine Liste die Änderungen widerspiegeln müssen.
  • Wenn Sie nur nach einem bestimmten Wert suchen müssen, können Sie if-Anweisungen direkt in der Schleife verwenden.

Das obige ist der detaillierte Inhalt vonWie entferne ich beim Iterieren in Python sicher Elemente aus einer Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage