Wörterbücher in einer Liste in Python durchsuchen
Problem:
Gegeben ist eine Liste von Wörterbüchern , wie können wir ein bestimmtes Wörterbuch basierend auf einem Schlüssel-Wert-Paar effizient suchen und abrufen? In diesem Fall möchten wir das Wörterbuch finden, dessen Schlüssel „Name“ auf „Pam“ gesetzt ist.
[ { "name": "Tom", "age": 10 }, { "name": "Mark", "age": 5 }, { "name": "Pam", "age": 7 }, ]
Lösung:
So führen Sie den Suchvorgang durch können wir die integrierten Generatorausdrücke von Python nutzen.
dicts = [ { "name": "Tom", "age": 10 }, { "name": "Mark", "age": 5 }, { "name": "Pam", "age": 7 }, ] result = next(item for item in dicts if item["name"] == "Pam") print(result)
Dieser Code durchläuft jedes Wörterbuch in der Liste unter Verwendung eines Generatorausdrucks und Filtern basierend auf dem Bedingung „item[“name“] == „Pam““. Wenn ein passendes Wörterbuch gefunden wird, gibt die Funktion next() das erste passende Element zurück.
{'name': 'Pam', 'age': 7}
Wenn Sie alternativ den Fall behandeln müssen, in dem das passende Element nicht gefunden wird, können Sie den folgenden Ansatz verwenden :
next((item for item in dicts if item["name"] == "Pam"), None)
Dieser Code gibt None zurück, wenn kein passender Artikel gefunden wird.
Um den Index des passenden Artikels statt des Artikels selbst zu finden, können Sie Folgendes tun Zählen Sie die Liste auf:
next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
Das obige ist der detaillierte Inhalt vonWie kann man in Python effizient nach einem Wörterbuch in einer Liste suchen, die auf einem Schlüssel-Wert-Paar basiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!