Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man bestimmte Schlüssel-Wert-Paare in einer Liste von Python-Wörterbüchern effizient finden?

Wie kann man bestimmte Schlüssel-Wert-Paare in einer Liste von Python-Wörterbüchern effizient finden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-06 18:42:12989Durchsuche

How to Efficiently Find Specific Key-Value Pairs in a List of Python Dictionaries?

Suche nach bestimmten Dictionnaire-Schlüsselwerten in Python

Bei einer Liste von Wörterbüchern ist es üblich, nach bestimmten Schlüsselwerten zu suchen Rufen Sie das entsprechende Wörterbuch ab. Betrachten Sie zum Beispiel die folgende Liste:

[
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]

Um das Wörterbuch mit dem Namen „Pam“ zu finden, können wir einen Generatorausdruck verwenden:

dicts = [
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]

matching_dict = next(item for item in dicts if item["name"] == "Pam")

Die Funktion next() gibt zurück das erste Element im Generator, das Wörterbuch mit dem Namen „Pam“. Die Verwendung eines Generatorausdrucks ermöglicht eine effiziente Iteration, ohne alle Ergebnisse im Speicher zu speichern.

In Fällen, in denen das Element möglicherweise nicht vorhanden ist, können wir einen Standardwert bereitstellen, indem wir die Funktion next() mit einem Parameter verwenden:

matching_dict = next((item for item in dicts if item["name"] == "Pam"), None)

Alternativ können wir den Index des passenden Elements mithilfe der Aufzählung finden:

matching_index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

Das obige ist der detaillierte Inhalt vonWie kann man bestimmte Schlüssel-Wert-Paare in einer Liste von Python-Wörterbüchern effizient finden?. 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