Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man in Python effizient nach einem Wörterbuch in einer Liste suchen, die auf einem Schlüssel-Wert-Paar basiert?

Wie kann man in Python effizient nach einem Wörterbuch in einer Liste suchen, die auf einem Schlüssel-Wert-Paar basiert?

Barbara Streisand
Freigeben: 2024-12-11 06:07:11
Original
784 Leute haben es durchsucht

How to Efficiently Search for a Dictionary in a List Based on a Key-Value Pair in Python?

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 },
]
Nach dem Login kopieren

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)
Nach dem Login kopieren

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}
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

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