Python – Ordenar lista por valores de diccionario

A veces, mientras trabajamos con el diccionario de Python, podemos tener problemas en los que necesitamos realizar una especie de lista de acuerdo con el valor correspondiente en el diccionario. Esto puede tener aplicación en muchos dominios, incluidos los datos y el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usarsorted() + key + lambda
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de ordenar usando sorted(). La función lambda se usa para obtener los valores de la clave.

# Python3 code to demonstrate working of 
# Sort List by Dictionary values
# Using sorted() + key + lambda
  
# initializing list
test_list = ['gfg', 'is', 'best']
  
# initializing Dictionary
test_dict = {'gfg' : 56, 'is' : 12, 'best' : 76}
  
# printing original list
print("The original list is : " + str(test_list))
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Sort List by Dictionary values
# Using sorted() + key + lambda
res = sorted(test_list, key = lambda ele: test_dict[ele])
  
# printing result 
print("The list after sorting : " + str(res)) 
Producción :

The original list is : ['gfg', 'is', 'best']
The original dictionary is : {'best': 76, 'gfg': 56, 'is': 12}
The list after sorting : ['is', 'gfg', 'best']

Método n.º 2: el uso desorted() + key + get()
este método realiza la tarea de manera similar al método anterior. La diferencia es que accede a valores get().

# Python3 code to demonstrate working of 
# Sort List by Dictionary values
# Using sorted() + key + get()
  
# initializing list
test_list = ['gfg', 'is', 'best']
  
# initializing Dictionary
test_dict = {'gfg' : 56, 'is' : 12, 'best' : 76}
  
# printing original list
print("The original list is : " + str(test_list))
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Sort List by Dictionary values
# Using sorted() + key + get()
res = sorted(test_list, key = test_dict.get)
  
# printing result 
print("The list after sorting : " + str(res)) 
Producción :

The original list is : ['gfg', 'is', 'best']
The original dictionary is : {'best': 76, 'gfg': 56, 'is': 12}
The list after sorting : ['is', 'gfg', 'best']

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *