Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man in einer Python-Wörterbuchliste effizient nach einem bestimmten Wörterbuch suchen?

Wie kann man in einer Python-Wörterbuchliste effizient nach einem bestimmten Wörterbuch suchen?

Linda Hamilton
Freigeben: 2024-12-05 15:18:10
Original
920 Leute haben es durchsucht

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

Wörterbücher in einer Liste mit Python durchsuchen

Betrachten Sie eine Liste von Wörterbüchern als Beispiel:

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

Problem: Wie suchen und rufen Sie das Wörterbuch ab, bei dem der Schlüssel „Name“ gleich ist? „Pam“?

Lösung:

Mithilfe eines Generatorausdrucks können Sie die Liste der Wörterbücher durchlaufen und das benötigte herausfiltern:

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

print(match)
# {"name": "Pam", "age": 7}
Nach dem Login kopieren

Umgang mit Nichtexistenz:

Wenn es möglich ist, dass der Name Wenn der gesuchte Artikel nicht in der Liste vorhanden ist, können Sie die Funktion next() mit einem Standardargument verwenden:

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

if match:
    print(match)
else:
    print("No matching dictionary found.")
Nach dem Login kopieren

Alternative Ansätze:

  • Sie können die Liste auflisten, um den Index des passenden Wörterbuchs zu erhalten:
index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

print(f"Matching dictionary at index {index}")
Nach dem Login kopieren
  • Sie kann zusätzliche Filterkriterien im Generatorausdruck verwenden, um komplexere Suchvorgänge durchzuführen.

Das obige ist der detaillierte Inhalt vonWie kann man in einer Python-Wörterbuchliste effizient nach einem bestimmten Wörterbuch suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage