Wie finde ich den Maximalwert im Python-Dictionary
-
Verwenden Sie die Methode
operator.itemgetter()
, um einen Schlüssel mit Maximalwert zu erhalten -
Verwenden Sie die Methode
dict.items()
für Python 3.x, um Schlüssel mit maximalem Wert im Dictionary zu erhalten - Eine allgemeine und speichereffiziente Lösung, um Schlüssel mit maximalem Wert im Dictionary zu erhalten
-
Verwenden Sie die Methoden
max()
unddict.get()
, um einen Schlüssel mit maximalem Wert im Dictionary zu erhalten
Dieses Tutorial beschreibt, wie man einen Schlüssel mit Maximalwert in Python erhält. Es listet auch einige Beispielcodes auf, um die Konzepte zu verdeutlichen, da sich die Methode gegenüber früheren Python-Versionen geändert hat.
Verwenden Sie die Methode operator.itemgetter()
, um einen Schlüssel mit Maximalwert zu erhalten
Wir brauchen keine neue Liste zu erstellen, um über das (key, value)
Paar des Dictionaries zu iterieren. Wir können für diesen Zweck stats.iteritems()
verwenden. Es gibt einen Iterator über das (key, value)
-Paar des Dictionaries zurück.
Sie können die Methode operator.itemgetter(x)
verwenden, um das aufrufbare Objekt zu erhalten, das das x-te
Element aus dem Objekt zurückgibt. Da das Objekt das (key, value)
Paar ist, bezieht sich operator.itemgetter(1)
hier auf das Element am Index von 1, d.h. den value
.
Da wir einen Schlüssel mit einem maximalen Wert wollen, werden wir die Methoden in der Funktion max
kapseln.
Ein grundlegender Beispielcode für diese Methode ist unten angegeben:
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats.iteritems(), key=operator.itemgetter(1))[0]
print(max_key)
Ausgabe:
key3
Anmerkung: Selbst wenn es einen weiteren Schlüssel mit einem Wert von 44 gibt, wird diese Methode einen der beiden gleich großen Maximalwerte zurückgeben.
Beachten Sie bitte auch, dass iteritems()
eine RunTimeException
auslösen kann, während Elemente zum Dictionary hinzugefügt oder aus ihm entfernt werden, und dict.iteritems
wird in Python 3 entfernt.
Verwenden Sie die Methode dict.items()
für Python 3.x, um Schlüssel mit maximalem Wert im Dictionary zu erhalten
In Python 3.x können Sie die Methode dict.items()
verwenden, um über key-value
-Paare des Dictionaries zu iterieren. Es ist die gleiche Methode wie dict.iteritems()
in Python 2.
Ein Beispielcode für diese Methode ist unten angegeben:
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats.items(), key=operator.itemgetter(1))[0]
print(max_key)
Ausgabe:
key3
Eine allgemeine und speichereffiziente Lösung, um Schlüssel mit maximalem Wert im Dictionary zu erhalten
Interessanterweise gibt es eine weitere Lösung, die sowohl für Python 2 als auch für Python 3 funktioniert. Die Lösung verwendet die Funktion lambda
, um den Schlüssel zu erhalten, und die Methode max
, um sicherzustellen, dass der erhaltene Schlüssel maximal ist.
Der Basiscode für diesen Ansatz ist unten angegeben:
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats, key=lambda key: stats[key])
print(max_key)
Ausgabe:
key3
Verwenden Sie die Methoden max()
und dict.get()
, um einen Schlüssel mit maximalem Wert im Dictionary zu erhalten
Eine andere Lösung für dieses Problem kann einfach die eingebaute max()
Methode sein. Sie ist mit den stats
versehen, um den Maximalwert zu erhalten und den key
mit dem Maximalwert zurückzugeben, wird die dict.get()
Methode verwendet.
Ein Beispielcode ist unten angegeben:
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats, key=stats.get)
print(max_key)
Ausgabe:
key3
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn