Python – Ordenar diccionario por diferencia de valor

A veces, mientras trabajamos con diccionarios de Python, podemos tener problemas en los que necesitamos realizar la clasificación de elementos en función de varios factores. Uno de ellos puede basarse en la diferencia absoluta de la lista de valores duales. Esto puede ocurrir en Python > 3.6, ya que se ordenan los diccionarios. Este tipo de problema puede venir en el dominio de datos. Vamos a discutir una forma en que este problema puede ser resuelto.

Método: Usar sorted() + lambda + abs()+ comprensión del diccionario
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 proporcionar la lógica y la función abs() se usa para calcular la diferencia absoluta.

# Python3 code to demonstrate working of 
# Sort Dictionary by Value Difference
# Using sorted() + lambda + abs() + dictionary comprehension
  
# initializing dictionary
test_dict = {'gfg' : [34, 87],
              'is' : [10, 13], 
              'best' : [19, 27], 
              'for' : [10, 50], 
              'geeks' : [15, 45]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Sort Dictionary by Value Difference
# Using sorted() + lambda + abs() + dictionary comprehension
res = dict(sorted(test_dict.items(), key = lambda sub: abs(sub[1][0] - sub[1][1])))
  
# printing result 
print("The sorted dictionary : " + str(res)) 
Producción :

El diccionario original es: {‘gfg’: [34, 87], ‘is’: [10, 13], ‘best’: [19, 27], ‘for’: [10, 50], ‘geeks’: [15, 45]}
El diccionario ordenado: {‘is’: [10, 13], ‘best’: [19, 27], ‘geeks’: [15, 45], ‘for’: [10, 50] , ‘gfg’: [34, 87]}

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 *