Python – Ordenar diccionario por suma de clave-valor

Dado un diccionario, ordenar por suma de clave y valor. 

Entrada : test_dict = {3:5, 1:3, 4:6, 2:7, 8:1} 
Salida : {1: 3, 3: 5, 2: 7, 8: 1, 4: 6} 
Explicación : 4 < 8 < 9 = 9 < 10 son sumas crecientes de claves y valores.
 

Entrada : test_dict = {3:5, 1:3, 4:6, 2:7} 
Salida : {1: 3, 3: 5, 2: 7, 4: 6} 
Explicación : 4 < 8 < 9 < 10 son suma creciente de claves y valores. 

Método: Usando sorted() + lambda + items()

En esta operación de clasificación se realiza mediante sorted(), la función lambda se utiliza para proporcionar lógica de adición. El items() se usa para obtener claves y valores.

Python3

# Python3 code to demonstrate working of
# Sort Dictionary by key-value Summation
# Using sorted() + lambda + items()
  
# initializing dictionary
test_dict = {3: 5, 1: 3, 4: 6, 2: 7, 8: 1}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# sorted() to sort, lambda provides key-value addition
res = sorted(test_dict.items(), key=lambda sub: sub[0] + sub[1])
  
# converting to dictionary
res = {sub[0]: sub[1] for sub in res}
  
# printing result
print("The sorted result : " + str(res))

Producción:

The original dictionary is : {3: 5, 1: 3, 4: 6, 2: 7, 8: 1}
The sorted result : {1: 3, 3: 5, 2: 7, 8: 1, 4: 6}

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 *