I. Einleitung:
In Python gibt es mehrere Möglichkeiten, mehrere Wörterbuchinformationen aus einer Liste zu entfernen:
- Verwenden Sie das Listenverständnis: Filtern Sie Wörterbücher heraus, die nicht gelöscht werden müssen, indem Sie bedingte Beurteilungsanweisungen verwenden, um eine neue Liste zu erstellen.
- Verwenden Sie
filter()
Funktionen: Kombinieren Sie Lambda-Ausdrücke undfilter()
Funktionen, um Wörterbücher herauszufiltern, die nicht gelöscht werden müssen, und eine neue Liste zu erstellen. - Verwenden Sie
del
Schlüsselwörter: Löschen Sie mehrere Wörterbücher in der Liste direkt durch Indizierungs- oder Slicing-Vorgänge.
2. Anwendung:
2.1. Verwendung des Listenverständnisses
my_list = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 35},
{"name": "David", "age": 40}
]
# 删除 age 大于等于 30 的字典
my_list = [item for item in my_list if item["age"] < 30]
print(my_list)
Die Ausgabe ist:
[{'name': 'Alice', 'age': 25}]
Im Beispiel verwenden wir das Listenverständnis, um my_list
alle Wörterbücher in der Liste zu durchlaufen, item["age"] < 30
die Wörterbücher, die nicht gelöscht werden müssen, mithilfe der bedingten Beurteilungsanweisung herauszufiltern und schließlich eine neue Liste zu erhalten.
2.2. Verwendung filter()
der Funktion
my_list = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 35},
{"name": "David", "age": 40}
]
# 删除 age 大于等于 30 的字典
my_list = list(filter(lambda item: item["age"] < 30, my_list))
print(my_list)
Die Ausgabe ist:
[{'name': 'Alice', 'age': 25}]
Im Beispiel verwenden wir einen Lambda-Ausdruck filter()
in Kombination mit der Funktion, um die Wörterbücher herauszufiltern, die nicht gelöscht werden müssen, und konvertieren das Ergebnis in eine Liste.
2.3. Verwenden Sie del
Schlüsselwörter
my_list = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 35},
{"name": "David", "age": 40}
]
# 删除索引为 1 和 3 的字典
del my_list[1]
del my_list[3-1] # 删除第二个元素后,列表长度减 1
print(my_list)
Die Ausgabe ist:
[{'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 35}]
Im Beispiel verwenden wir del
das Schlüsselwort, um die indizierten Wörterbücher 1
bzw. durch die Indexoperation zu löschen 2
und die gelöschte Liste zu drucken. Es ist zu beachten, dass nach dem Löschen eines Elements die Länge der Liste um 1 reduziert wird. Daher sollte beim Löschen mehrerer Wörterbücher die Indexänderung berücksichtigt werden.