Tengo un dict donde cada clave hace referencia a un valor int. ¿Cuál es la mejor manera de clasificar las claves en una lista según los valores?Clasificar claves del diccionario en python
Respuesta
>>> mydict = {'a':1,'b':3,'c':2}
>>> sorted(mydict, key=lambda key: mydict[key])
['a', 'c', 'b']
my_list = sorted(dict.items(), key=lambda x: x[1])
@ user815423426 editó mi publicación 's/list/my_list /' porque "list es una palabra clave en python". Su edición está bien, pero la lista no es una palabra clave (c.f. https://docs.python.org/3/reference/lexical_analysis.html#keywords), por lo que mi fragmento de programa se compilaría y se ejecutaría (bytecode-). Sin embargo, es un nombre en el espacio de nombres '__builtins__', y es una mala práctica sombrear ese nombre -con una variable locale llamada list-y horrible para anularlo -con una variable global llamada list, p. 'list = tuple'. –
[v[0] for v in sorted(foo.items(), key=lambda(k,v): (v,k))]
I como éste:
sorted(d, key=d.get)
Bien, pensé que sería bueno tener una solución elegante que proporcione pares (clave, valor) ordenados por clave. ... y no requiere proporcionar el nombre de la variable dict más de una vez (tiendo a tener nombres de variables descriptivos muy largos). d.iteritems() todavía parece ser el más útil. – travc
En segundo lugar, la elegante y clasificada solución k, v pair – crock1255
- 1. Clasificar matriz en el diccionario
- 2. ¿En qué orden muestra Python las claves del diccionario?
- 3. crear diccionario con claves duplicadas en python
- 4. Diccionario de Python con variables como claves
- 5. python: ¿claves de unión de diccionario múltiple?
- 6. ¿Enumerar claves en un diccionario?
- 7. Clasificar CSV en Python
- 8. Diccionario con claves en Unicode
- 9. Eliminar ciertas claves de un diccionario en Python
- 10. Python: encontrar claves con valores únicos en un diccionario?
- 11. cambiar las claves y valores en un diccionario en Python
- 12. dividir un diccionario en python en claves y valores
- 13. orden de las claves en el diccionario de Python
- 14. inserte o actualice las claves en un diccionario python
- 15. Clasificación del diccionario de Python basado en valores de diccionario anidados
- 16. Python map() valores del diccionario
- 17. Python - intersección entre una lista y claves de un diccionario
- 18. ¿Hay alguna manera de clasificar/ordenar claves en objetos JavaScript?
- 19. Diccionario de ahorro cuyas claves son tuplas con json, python
- 20. ¿Cómo se compara el rendimiento de las búsquedas de claves del diccionario en Python?
- 21. Establecer atributos del diccionario en python
- 22. Cocoa: ¿diccionario con claves enum?
- 23. comprensión del diccionario de Python muy lento
- 24. Diccionario de clasificación basado en las claves
- 25. ¿Puedo usar la Lista de objetos como claves del diccionario?
- 26. Python: Clasificar clases personalizadas sin el uso del argumento `clave`?
- 27. Acceso a los elementos en listas dentro del diccionario python
- 28. Uso de la memoria del diccionario en Python?
- 29. ¿Qué algoritmo hash utiliza el mapeo del diccionario de Python?
- 30. python csv en el diccionario
Además, esta pregunta por la clasificación por clave, la respuesta es ligada sobre la clasificación por valor. – ForeverWintr
las respuestas a continuación devuelven una lista ordenada de las teclas solamente (lo cual es trivial). la respuesta a la pregunta "duplicado" sobre ordenar por valor devuelve una lista ordenada de pares clave/valor (ordenados por valor). Si lo quiere ordenado por clave, simplemente use 0 en lugar de como el parámetro para operator.itemgetter(). – ScienceFriction