Saltar al contenido principal

Cómo ordenar un diccionario por clave en Python

Cómo ordenar un diccionario por clave en Python.

Aquí tienes un tutorial detallado paso a paso sobre cómo ordenar un diccionario por clave en Python:

Paso 1: Crear un diccionario Primero, debes crear un diccionario que deseas ordenar. Un diccionario en Python es una colección desordenada de pares clave-valor. Aquí tienes un ejemplo de diccionario:

my_dict = {'banana': 3, 'apple': 2, 'orange': 4}

Paso 2: Convertir el diccionario en una lista de tuplas Para ordenar el diccionario por clave, necesitas convertirlo en una lista de tuplas. Cada tupla consistirá en un par clave-valor del diccionario. Puedes usar el método items() para lograr esto. Así es como puedes convertir el diccionario en una lista de tuplas:

my_list = list(my_dict.items())

Paso 3: Ordenar la lista de tuplas Ahora que tienes una lista de tuplas, puedes ordenarla usando la función sorted(). La función sorted() devuelve una nueva lista ordenada sin cambiar la lista original. Para ordenar la lista de tuplas por clave, puedes pasar una función lambda como parámetro key a la función sorted(). La función lambda debe devolver el primer elemento de cada tupla, que representa la clave. Así es como puedes ordenar la lista de tuplas:

sorted_list = sorted(my_list, key=lambda x: x[0])

Paso 4: Convertir la lista ordenada de vuelta en un diccionario Una vez que la lista de tuplas está ordenada, puedes convertirla de nuevo en un diccionario si es necesario. Puedes usar una comprensión de diccionario para lograr esto. Así es como puedes convertir la lista ordenada de vuelta en un diccionario:

sorted_dict = {key: value for key, value in sorted_list}

Paso 5: Imprimir el diccionario ordenado Finalmente, puedes imprimir el diccionario ordenado para ver los pares clave-valor ordenados. Aquí tienes un ejemplo:

print(sorted_dict)

La salida será:

{'apple': 2, 'banana': 3, 'orange': 4}

Ejemplo de código completo:

my_dict = {'banana': 3, 'apple': 2, 'orange': 4}
my_list = list(my_dict.items())
sorted_list = sorted(my_list, key=lambda x: x[0])
sorted_dict = {key: value for key, value in sorted_list}
print(sorted_dict)

¡Y eso es todo! Has ordenado exitosamente un diccionario por clave en Python.