Suchen nach bestimmten Wörterbüchern in einer Liste von Wörterbüchern in Python
Angenommen eine Liste von Wörterbüchern, wie zum Beispiel:
[ { "name": "Tom", "age": 10 }, { "name": "Mark", "age": 5 }, { "name": "Pam", "age": 7 } ]
Möglicherweise muss man ein bestimmtes Wörterbuch basierend auf einem bestimmten Kriterium finden und abrufen. Wenn wir beispielsweise das Wörterbuch abrufen möchten, das mit dem Namen „Pam“ verknüpft ist, können wir verschiedene pythonische Ansätze nutzen.
Eine effektive Lösung besteht in der Verwendung eines Generatorausdrucks, wie unten dargestellt:
>>> next(item for item in dicts if item["name"] == "Pam") {'age': 7, 'name': 'Pam'}
Dieser Generatorausdruck durchläuft jedes Wörterbuch in der Liste und wertet die Bedingung innerhalb von if item["name"] == "Pam" aus. Sobald ein Wörterbuch gefunden wird, das diese Bedingung erfüllt, wird es als Ergebnis zurückgegeben.
Um Situationen zu bewältigen, in denen das gewünschte Wörterbuch möglicherweise nicht vorhanden ist, können wir einen Standardwert bereitstellen, wie vom Benutzer Matt in seinem Kommentar vorgeschlagen. Dies kann mit einer etwas anderen API erreicht werden:
next((item for item in dicts if item["name"] == "Pam"), None)
Wenn wir alternativ den Index des passenden Wörterbuchs und nicht das Wörterbuch selbst bestimmen müssen, können wir die Liste wie folgt auflisten():
next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
Durch den Einsatz dieser Techniken können wir bestimmte Wörterbücher innerhalb einer Liste von Wörterbüchern in Python effizient suchen und abrufen, was uns die Durchführung komplexer Datenmanipulations- und -abrufaufgaben ermöglicht Leichtigkeit.
Das obige ist der detaillierte Inhalt vonWie findet man effizient ein bestimmtes Wörterbuch in einer Python-Wörterbuchliste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!