Dada la Lista de diccionarios, ordenar por suma de sus valores.
Entrada : test_list = [{1: 3, 4: 5, 3: 5}, {1: 100}, {8: 9, 7: 3}]
Salida : [{8: 9, 7: 3}, {1 : 3, 4: 5, 3: 5}, {1: 100}]
Explicación : 12 < 13 < 100, ordenados por suma de valores.Entrada : test_list = [{1: 100}, {8: 9, 7: 3}]
Salida : [{8: 9, 7: 3}, {1: 100}]
Explicación : 12 < 100, ordenados por suma de valores .
Método #1: Usar sort() + sum() + valores()
En esto, la tarea de realizar la ordenación se realiza usando sort(), y sum() y values() se usan para obtener una suma de todos los valores del diccionario.
Python3
# Python3 code to demonstrate working of # Sort Dictionaries by Values Sum # Using sort() + sum() + values() def values_sum(row): # return values sum return sum(list(row.values())) # initializing list test_list = [{1 : 3, 4 : 5, 3 : 5}, {1 : 7, 10 : 1, 3 : 10}, {1 : 100}, {8 : 9, 7 : 3}] # printing original list print("The original list is : " + str(test_list)) # performing sort test_list.sort(key = values_sum) # printing result print("Sorted Dictionaries List : " + str(test_list))
Producción:
La lista original es: [{1: 3, 4: 5, 3: 5}, {1: 7, 10: 1, 3: 10}, {1: 100}, {8: 9, 7: 3}]
Lista de diccionarios ordenados: [{8: 9, 7: 3}, {1: 3, 4: 5, 3: 5}, {1: 7, 10: 1, 3: 10}, {1: 100}]
Método #2: Usar sorted() + lambda + sum() + valores()
En esto, ordenamos usando sorted() y proporcionamos lógica usando la función lambda.
Python3
# Python3 code to demonstrate working of # Sort Dictionaries by Values Sum # Using sorted() + lambda + sum() + values() # initializing list test_list = [{1 : 3, 4 : 5, 3 : 5}, {1 : 7, 10 : 1, 3 : 10}, {1 : 100}, {8 : 9, 7 : 3}] # printing original list print("The original list is : " + str(test_list)) # lambda function to get values sum res = sorted(test_list, key = lambda row : sum(list(row.values()))) # printing result print("Sorted Dictionaries List : " + str(res))
Producción:
La lista original es: [{1: 3, 4: 5, 3: 5}, {1: 7, 10: 1, 3: 10}, {1: 100}, {8: 9, 7: 3}]
Lista de diccionarios ordenados: [{8: 9, 7: 3}, {1: 3, 4: 5, 3: 5}, {1: 7, 10: 1, 3: 10}, {1: 100}]
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