Entfernen mehrere Elemente aus einer Liste in Python
-
Entfernen mehrerer Elemente aus einer Liste mithilfe von
if...else
-Kontrollanweisungen - Löschen mehrerer Elemente aus einer Liste mit der List Comprehensionsmethode in Python
- Entfernen mehrerer Elemente aus einer Liste mit List Slicing
-
Entfernen Sie mehrere Elemente aus einer Liste mit der
for
-Schleife
Um mehrere Werte aus einer Python-Liste zu entfernen, können wir entweder die tatsächlichen Werte der Liste oder die Indizes der aus der Liste zu entfernenden Werte entfernen. Wir können if...else
-Kontrollanweisungen, List Comprehensions, Listen-Slicing und for
-Schleifen verwenden, um mehrere Elemente aus einer Liste in Python zu entfernen.
Entfernen mehrerer Elemente aus einer Liste mithilfe von if...else
-Kontrollanweisungen
Wir können if...else
-Kontrollanweisungen verwenden, um mehrere Werte aus einer Liste in Python zu entfernen, wenn die Werte eine bestimmte Bedingung erfüllen. Die Elemente können auch entfernt werden, wenn ihre Indizes eine bestimmte Bedingung erfüllen.
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
print("Original list : ", list1)
for ele in list1:
if (ele % 2) != 0:
list1.remove(ele)
print("List after deleting all values which are odd : ", list1)
Ausgabe:
Original list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
List after removing all the odd values : [2, 4, 6, 8, 10, 20]
Hier haben wir eine Liste von ganzen Zahlen und müssen die Elemente mit dem ungeraden Wert aus der Liste entfernen. In diesem Fall durchlaufen wir alle Listenelemente l1
und entfernen ein Element mit der Methode remove()
aus der Liste, wenn das Element einen ungeraden Wert hat.
Löschen mehrerer Elemente aus einer Liste mit der List Comprehensionsmethode in Python
In Python bezieht sich List Comprehensions auf den Prozess des Generierens einer neuen Liste aus einer vorhandenen Liste. Das List Comprehensions kann auch verwendet werden, um mehrere Elemente aus der Liste zu entfernen. Wir können eine neue Liste erstellen, indem wir die zu entfernenden Werte aus der ursprünglichen Liste entfernen.
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
l2 = [x for x in l1 if x % 2 == 0]
print("Original list : ", l1)
print("List after deleting all the odd values present in List : ", l2)
Ausgabe:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after deleting all the odd values present in List : [2, 4, 6, 8, 10, 20, 80]
Hier erstellen wir die Liste l2
aus der Liste l1
, die nur alle geraden Werte in l1
enthält. Mit anderen Worten, wir können sagen, dass wir eine neue Liste l2
aus der bestehenden Liste l1
erstellt haben, indem wir alle ungeraden Werte in der Liste l1
entfernt haben.
Entfernen mehrerer Elemente aus einer Liste mit List Slicing
Wir können auch mehrere Elemente aus einer Liste entfernen, indem wir die List-Slicing-Methode verwenden. Hier können wir den Bereich des Elements vom Anfang bis zum letzten Index des Elements, das wir aus der Liste entfernen möchten, in die Methode del
setzen.
Anstatt einen einzelnen Index in der Methode del
zu verwenden, verwenden wir einen Wertebereich vom Anfang bis zum letzten Index der Elemente, die wir aus der Liste entfernen möchten. Es entfernt die angrenzenden Elemente aus der Liste. Wir müssen beachten, dass der Werteindex in Python für Listen bei 0
beginnt.
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
print("Original list : ", l1)
del l1[2:5]
print("List after removing values at index 2, 3 and 4 : ", l1)
Ausgabe:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after removing values at index 2, 3 and 4 : [1, 2, 6, 7, 8, 9, 10, 20, 80, 99]
Es entfernt die Werte an den Indizes 2
, 3
und 4
aus der Liste l1
mit der Methode del
.
Hier ist wichtig zu beachten, dass der erste Index 2
inklusive ist, dh Element an Index 2
in der Liste 3
wird entfernt, während der letzte Index ein exklusiver Wert ist, dh Element an Index 5
in der Liste 6
wird nicht entfernt.
Entfernen Sie mehrere Elemente aus einer Liste mit der for
-Schleife
Wir können auch die for
-Schleifen verwenden, um mehrere Elemente aus einer Liste zu entfernen.
Um diese Methode anzuwenden, müssen wir die Indizes der Elemente speichern, die wir aus der Liste löschen möchten. Das zufällige Entfernen des Elements führt jedoch zu einer Änderung der Werte der Indizes. Unsere kluge Strategie besteht darin, das Element zu löschen, dessen Position in der Liste größer ist. Der Wert des Elements an anderen Indizes ändert sich also nicht. Jetzt sortieren wir die Liste in absteigender Reihenfolge, um zuerst das Element mit einem höheren Index zu löschen. Der Code für diesen Ansatz ist unten gezeigt.
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
print("Original list : ", l1)
indexes_to_be_removed = [0, 2, 5]
for idx in sorted(indexes_to_be_removed, reverse=True):
del l1[idx]
print("List after removing values at index 0, 2 and 5: ", l1)
Ausgabe:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after removing values at index 0, 2 and 5: [3, 5, 6, 8, 9, 10, 20, 80, 99]
Es entfernt die Werte an den Indizes 0
, 2
und 5
aus der Liste l1
mit der Methode del
.
Verwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert