¿Cómo puedo ordenar un diccionario de términos de valor en Python?

un diccionario Clasificación por valor : Aquí, vamos a aprender ¿Cómo puedo ordenar un diccionario de términos de valor en el lenguaje de programación Python?

El diccionario en una pitón no es una colección ordenada. La razón class no se está ordenando ayuda en la velocidad de acceso.

Considere un diccionario ejemplo,

    sample_dict = {'a':1, 'c':3, 'b':5, 'd':4}

Para especie un diccionario por valor , introducir otra estructura de datos tal como un diccionario ordenado.

Uso de la función ordenada y operador módulo

-bash-4.2$ python3
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> sample_dict = {'a':1, 'c':3, 'b':5, 'd':4 }
>>> import operator
>>> sorted_dict = sorted(sample_dict.items(), key = operator.itemgetter(1))
>>> print(sorted_dict)
[('a', 1), ('c', 3), ('d', 4), ('b', 5)]
>>>

En el ejemplo anterior, hemos utilizado el módulo operador para ordenar los elementos en el diccionario por valor . La salida de la función anterior es de lista de tipos que es una lista de tuplas según el segundo elemento de cada tupla. Cada tupla contiene la clave y el valor for cada artículo encontrado en el diccionario,

Uso de la función ordenada y lambda

-bash-4.2$ python3
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> sample_dict = {'a':1, 'c':3, 'b':5, 'd':4 }
>>> sorted_dict = sorted(sample_dict.items(), key = lambda i:i[1])
>>> print(sorted_dict)
[('a', 1), ('c', 3), ('d', 4), ('b', 5)]
>>>

Uso de la función ordenada y lista por comprensión

-bash-4.2$ python3
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> sample_dict = {'a':1, 'c':3, 'b':5, 'd':4 }
>>> sorted_dict = sorted((value, key) for (key,value) in sample_dict.items())
>>> print(sorted_dict)
[(1, 'a'), (3, 'c'), (4, 'd'), (5, 'b')]
>>>

Uso de la función ordenada y for un diccionario ordenada junto con lambda función

-bash-4.2$ python3
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict
>>> sample_dict = {'a':1, 'c':3, 'b':5, 'd':4 }
>>> sorted_ordered_dict = OrderedDict(sorted(sample_dict.items(), key = lambda i:i[1]))
>>> print(sorted_ordered_dict)
OrderedDict([('a', 1), ('c', 3), ('d', 4), ('b', 5)])

En el ejemplo anterior la salida si de diccionario tipo.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *