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'
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'
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!