Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich in Python effizient Wörterbuchschlüssel anhand ihrer Werte finden?

Wie kann ich in Python effizient Wörterbuchschlüssel anhand ihrer Werte finden?

DDD
Freigeben: 2024-12-16 15:57:12
Original
327 Leute haben es durchsucht

How Can I Efficiently Find Dictionary Keys Based on Their Values in Python?

Schlüssel aus Werten in Wörterbüchern finden

Sie sind auf eine Herausforderung gestoßen, den Namen abzurufen, der einem bestimmten Alter in einem Python-Wörterbuch zugeordnet ist. Sehen wir uns an, wie Sie dies mit einem effizienteren Ansatz erreichen können.

Das Problem

Ihr Originalcode versucht, die Werte des Wörterbuchs zu durchlaufen und sie mit der Eingabe zu vergleichen Alter. Das alleinige Durchlaufen von Werten ermöglicht jedoch keinen Zugriff auf die entsprechenden Schlüssel. Dies führt zu dem KeyError, der auftritt, wenn Sie versuchen, den Namen direkt abzurufen.

Lösung

Um den mit einem bestimmten Wert verknüpften Schlüssel zu finden, verwenden Sie eine Methode, die den Wert umkehrt Schlüssel-Wert-Beziehung. In Python können die Methoden dict.keys() und dict.values() genutzt werden, um dies zu erreichen.

Python 2.x

mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)]  # Prints 'george'
Nach dem Login kopieren

In Python 2.x, mydict.values() gibt eine Liste von Werten zurück. Mithilfe von index() können Sie die Position des Zielwerts innerhalb dieser Liste bestimmen. Der entsprechende Schlüssel kann dann mit mydict.keys()[index] abgerufen werden.

Python 3.x

mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)])  # Prints 'george'
Nach dem Login kopieren

In Python 3.x sind beide dict .keys() und dict.values() geben Iteratoren zurück. Um eine Liste zu erhalten, müssen Sie sie wie oben gezeigt explizit mit list() umwandeln.

Fazit

Mit diesem Ansatz können Sie Schlüssel basierend auf bekannten Werten effizient abrufen in einem Python-Wörterbuch. Denken Sie daran, die von Ihnen verwendete Python-Version zu berücksichtigen, da die Syntax zwischen den Versionen leicht variieren kann.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient Wörterbuchschlüssel anhand ihrer Werte finden?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage