Heim >Backend-Entwicklung >Python-Tutorial >Wie findet man effizient ein bestimmtes Wörterbuch in einer Python-Wörterbuchliste?

Wie findet man effizient ein bestimmtes Wörterbuch in einer Python-Wörterbuchliste?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-24 06:11:10282Durchsuche

How to Efficiently Find a Specific Dictionary in a Python List of Dictionaries?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn