Fassen Sie die Methode zum Löschen mehrerer Wörterbuchinformationen in der Python-Liste zusammen

I. Einleitung:

In Python gibt es mehrere Möglichkeiten, mehrere Wörterbuchinformationen aus einer Liste zu entfernen:

  1. 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.
  2. Verwenden Sie  filter() Funktionen: Kombinieren Sie Lambda-Ausdrücke und  filter() Funktionen, um Wörterbücher herauszufiltern, die nicht gelöscht werden müssen, und eine neue Liste zu erstellen.
  3. 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_listalle Wörterbücher in der Liste zu durchlaufen, item["age"] < 30die 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 delSchlü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 deldas Schlüsselwort, um die indizierten Wörterbücher 1bzw. durch die Indexoperation zu löschen 2und 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.

Ich denke du magst

Origin blog.csdn.net/xun527/article/details/132608314
Empfohlen
Rangfolge