logo

Cómo ordenar un diccionario en Python

El diccionario de Python es la colección de datos que se almacenan en forma de clave-valor. Cada clave está asociada a su valor. Es de naturaleza mutable, lo que significa que podemos cambiar los datos después de su creación.

Es la recopilación desordenada de los datos y permite almacenar valores duplicados, pero la clave debe ser única.

Neena Gupta

El diccionario se declara utilizando llaves {} y el par clave-valor está separado por una coma.

 dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1) 

Producción:

¿Por qué es necesario ordenar el diccionario?

  • La complejidad del tiempo de búsqueda de la lista es O (n) y el diccionario tiene una complejidad del tiempo de búsqueda 0 (1), lo que hace que el diccionario sea más rápido que la lista. El diccionario se puede utilizar para la lista siempre que sea necesario.
  • La clasificación nos permite analizar los datos de manera eficiente cuando trabajamos con la estructura de datos.
  • Un diccionario ordenado proporciona una mejor comprensión para manejar operaciones complejas.

Entendamos las diversas formas de ordenar el diccionario.

  • Ordenar por claves
  • Ordenar por valores
  • Algoritmo de clasificación
  • Invertir el orden ordenado

Ordenar por claves y valores

Pitón ofrece las funciones de teclas integradas teclas() y valores() para ordenar el diccionario. Toma cualquier iterable como argumento y devuelve la lista ordenada de claves. Podemos usar las teclas para ordenar el diccionario en orden ascendente. Entendamos el siguiente ejemplo.

Ejemplo -

 names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items())) 

Producción:

 [1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')] 

Explicación -

En el código anterior, hemos declarado un diccionario. nombres . Usamos la función incorporada junto con la ordenado() Función que devolvió la lista de claves ordenadas. A continuación, utilizamos el elementos() función para obtener el diccionario en el orden ordenado.

Algoritmo de clasificación

Existen varios algoritmos de clasificación para ordenar un diccionario; Podemos usar otros argumentos en el método ordenado. Entendamos el siguiente ejemplo.

Ejemplo -

 daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)]) 

Producción:

 {'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'] 

Invertir el orden ordenado

El diccionario se puede invertir usando el contrarrestar argumento. Entendamos el siguiente ejemplo.

Ejemplo -

 a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True)) 

Producción:

 [6, 5, 4, 3, 2, 1] 

En este tutorial, analizamos cómo ordenar el diccionario en Python. Un diccionario ordenado es fácil de manejar con una gran cantidad de datos y nos brinda un resultado de búsqueda rápido.