Formas de ordenar la lista de diccionarios por valores en Python: uso de la función lambda

En este artículo, cubriremos cómo ordenar un diccionario por valor en Python

Ordenar siempre ha sido una utilidad útil en la programación del día a día. El diccionario en Python se usa ampliamente en muchas aplicaciones que van desde el dominio competitivo hasta el dominio del desarrollador (por ejemplo, el manejo de datos JSON). Tener el conocimiento para clasificar los diccionarios según sus valores puede resultar útil en tales casos.

Hay 2 formas de lograr esta clasificación:

 

¿Qué es la función lambda en Python?

Este artículo trata sobre la clasificación usando la función lambda y usando la función incorporada » sorted() «. También se pueden lograr diversas variaciones para clasificar los diccionarios. 

  • Para orden descendente: Use » reverse = True » además de la función sorted().
  • Para clasificar con valores múltiples: sepárelos con una » coma » y mencione el orden correcto en el que se debe realizar la clasificación.

Ejemplo:

Python3

# Python code demonstrate the working of
# sorted() with lambda
 
# Initializing list of dictionaries
lis = [{"name": "Nandini", "age": 20},
       {"name": "Manjeet", "age": 20},
       {"name": "Nikhil", "age": 19}]
 
# using sorted and lambda to print list sorted
# by age
print("The list printed sorting by age: ")
print(sorted(lis, key=lambda i: i['age']))
 
print("\r")
 
# using sorted and lambda to print list sorted
# by both age and name. Notice that "Manjeet"
# now comes before "Nandini"
print("The list printed sorting by age and name: ")
print(sorted(lis, key=lambda i: (i['age'], i['name'])))
 
print("\r")
 
# using sorted and lambda to print list sorted
# by age in descending order
print("The list printed sorting by age in descending order: ")
print(sorted(lis, key=lambda i: i['age'], reverse=True))

Producción:

The list printed sorting by age: 
[{'age': 19, 'name': 'Nikhil'}, {'age': 20, 'name': 'Nandini'}, {'age': 20, 'name': 'Manjeet'}]

The list printed sorting by age and name: 
[{'age': 19, 'name': 'Nikhil'}, {'age': 20, 'name': 'Manjeet'}, {'age': 20, 'name': 'Nandini'}]

The list printed sorting by age in descending order: 
[{'age': 20, 'name': 'Nandini'}, {'age': 20, 'name': 'Manjeet'}, {'age': 19, 'name': 'Nikhil'}]

Artículo siguiente -> Maneras de ordenar la lista de diccionarios por valores en Python – Usando itemgetter

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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