Viele der hier gegebenen Antworten betreffen die Erstellung einer neuen Liste. Dabei werden alle Daten der alten Liste in die neue Liste kopiert (mit Ausnahme der entfernten Einträge). Wenn Ihre Liste sehr umfangreich ist, können Sie sich das vielleicht nicht leisten (oder Sie sollten es nicht wollen).
In diesen Fällen ist es wesentlich schneller um die Liste an Ort und Stelle zu ändern. Wenn Sie mehr als ein Element aus der Liste entfernen müssen, kann es knifflig werden. Angenommen, Sie durchlaufen eine Schleife über die Liste und entfernen ein Element, dann ändert sich die Liste, und eine standardmäßige for-Schleife wird dies nicht berücksichtigen. Das Ergebnis der Schleife ist dann möglicherweise nicht das, was Sie erwartet haben.
Ejemplo:
a = [0, 1, 2, 3, 4, 5]
for i in a:
a.remove(i) # Remove all items
print(a)
Out: [1, 3, 5]
Eine einfache Lösung besteht darin, die Liste in umgekehrter Reihenfolge zu durchlaufen. In diesem Fall erhalten Sie:
a = [0, 1, 2, 3, 4, 5]
for i in reversed(a):
a.remove(i) # Remove all items
print(a)
Out: []
Wenn Sie dann nur Elemente mit bestimmten Werten entfernen müssen, können Sie einfach eine if statement
in der Schleife, was zu:
a = [0, 1, 2, 3, 4, 5]
for i in reversed(a):
if i == 2 or i == 3: # Remove all items having value 2 or 3.
a.remove(i)
print(a)
Out: [0, 1, 4, 5]