J'essaie d'obtenir la clé dict dont la valeur est le maximum de toutes les valeurs du dict.
J'ai trouvé deux façons, pas assez élégantes.
d= {'a':2,'b':5,'c':3}
# 1st way
print [k for k in d.keys() if d[k] == max(d.values())][0]
# 2nd way
print Counter(d).most_common(1)[0][0]
Est-ce qu'il y a une meilleure approche?
Utilisez le paramètre key
pour max()
:
max(d, key=d.get)
Démo:
>>> d= {'a':2,'b':5,'c':3}
>>> max(d, key=d.get)
'b'
Le paramètre key
prend une fonction, et pour chaque entrée de l'itérable, il trouvera celle pour laquelle la fonction key
renvoie la valeur la plus élevée.