Comment trouver la valeur maximale dans le dictionnaire Python
-
Utilisez la méthode
operator.itemgetter()
pour obtenir une clé avec une valeur maximale -
Utilisez la méthode
dict.items()
pour Python 3.x pour obtenir la clé avec la valeur maximale dans le dictionnaire - une solution générale et efficace en mémoire pour obtenir une clé avec une valeur maximale dans le dictionnaire
-
Utiliser les méthodes
max()
etdict.get()
pour obtenir la clé avec la valeur maximale dans le dictionnaire
Ce tutoriel décrit comment obtenir une clé avec une valeur maximale en Python. Il donne également quelques exemples de codes pour clarifier les concepts car la méthode a changé par rapport aux versions précédentes de Python.
Utilisez la méthode operator.itemgetter()
pour obtenir une clé avec une valeur maximale
Nous n’avons pas besoin de créer une nouvelle liste pour itérer sur la paire (key, value)
du dictionnaire. Nous pouvons utiliser stats.iteritems()
à cette fin. Il retourne un itérateur sur la paire (key, value)
du dictionnaire.
Vous pouvez utiliser la méthode operator.itemgetter(x)
pour obtenir l’objet appelable qui renverra le x-ième
élément de l’objet. Ici, comme l’objet est la paire (key, value)
, operator.itemgetter(1)
fait référence à l’élément à l’index de 1
, c’est-à-dire la value
.
Comme nous voulons une clé avec une valeur maximale, nous allons donc encapsuler les méthodes dans la fonction max
.
Un exemple de code de base pour cette méthode est donné ci-dessous :
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats.iteritems(), key=operator.itemgetter(1))[0]
print(max_key)
Production:
key3
Note : Même s’il y a une autre clé avec une valeur de 44, cette méthode retournera une des deux valeurs maximales égales.
Veuillez également noter que iteritems()
peut lever une RunTimeException
tout en ajoutant ou supprimant des éléments du dictionnaire, et que dict.iteritems
est supprimé en Python 3.
Utilisez la méthode dict.items()
pour Python 3.x pour obtenir la clé avec la valeur maximale dans le dictionnaire
En Python 3.x, vous pouvez utiliser la méthode dict.items()
pour itérer sur les paires key-value
du dictionnaire. C’est la même méthode que dict.iteritems()
en Python 2.
Un exemple de code pour cette méthode est donné ci-dessous :
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats.items(), key=operator.itemgetter(1))[0]
print(max_key)
Production:
key3
une solution générale et efficace en mémoire pour obtenir une clé avec une valeur maximale dans le dictionnaire
Il est intéressant de noter qu’il existe une autre solution qui fonctionne à la fois pour Python 2 et Python 3. Cette solution utilise la fonction lambda
pour obtenir la clé, et la méthode max
pour s’assurer que la clé obtenue est maximale.
Le code de base de cette approche est donné ci-dessous :
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats, key=lambda key: stats[key])
print(max_key)
Production:
key3
Utiliser les méthodes max()
et dict.get()
pour obtenir la clé avec la valeur maximale dans le dictionnaire
Une autre solution à ce problème peut être simplement l’utilisation de la méthode intégrée max()
. Elle est fournie avec les stats
pour obtenir la valeur maximale, et pour renvoyer la key
avec la valeur maximale, la méthode dict.get()
est utilisée.
Un exemple de code est donné ci-dessous :
import operator
stats = {"key1": 20, "key2": 35, "key3": 44}
max_key = max(stats, key=stats.get)
print(max_key)
Production:
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