ordereddict dict python dictionary counter

ordereddict - order dict python



Obtener dictado por valor máximo (1)

Esta pregunta ya tiene una respuesta aquí:

Estoy tratando de obtener la clave dict donde su valor es máximo en todos los valores de dict. Encontré dos formas, ambas no lo suficientemente elegantes.

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]

¿Hay mejor enfoque?


Use el parámetro key para max() :

max(d, key=d.get)

Manifestación:

>>> d= {''a'':2,''b'':5,''c'':3} >>> max(d, key=d.get) ''b''

El parámetro key toma una función, y para cada entrada en el iterable, encontrará una para la cual la función key devuelve el valor más alto.