ordereddict - order dict python
Obtener dictado por valor máximo (1)
Esta pregunta ya tiene una respuesta aquí:
- ¿Obteniendo llave con valor máximo en diccionario? 20 respuestas
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.