Comment trouver la valeur maximale dans le dictionnaire Python

  1. Utilisez la méthode operator.itemgetter() pour obtenir une clé avec une valeur maximale
  2. Utilisez la méthode dict.items() pour Python 3.x pour obtenir la clé avec la valeur maximale dans le dictionnaire
  3. une solution générale et efficace en mémoire pour obtenir une clé avec une valeur maximale dans le dictionnaire
  4. Utiliser les méthodes max() et dict.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 lakey’ 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

Article connexe - Python Dictionary

  • Comment inverser un dictionnaire Python
  • Comment fusionner deux dictionnaires en Python 2 et 3