Muchas operaciones, como la agrupación y las conversiones, son posibles utilizando los diccionarios de Python. Pero a veces, también podemos tener un problema en el que necesitamos realizar la agregación de valores de clave en la lista del diccionario. Esta tarea es común en la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usar sum()
+ comprensión de lista
Este es el enfoque de una sola línea para realizar la tarea de obtener la suma de una clave particular mientras se itera a las claves similares en la lista de diccionarios usando la comprensión de listas.
# Python3 code to demonstrate working of # Value summation of key in dictionary # Using sum() + list comprehension # Initialize list test_list = [{'gfg' : 1, 'is' : 2, 'best' : 3}, {'gfg' : 7, 'is' : 3, 'best' : 5}, {'gfg' : 9, 'is' : 8, 'best' : 6}] # printing original list print("The original list is : " + str(test_list)) # Value summation of key in dictionary # Using sum() + list comprehension res = sum(sub['gfg'] for sub in test_list) # printing result print("The sum of particular key is : " + str(res))
La lista original es: [{‘mejor’: 3, ‘gfg’: 1, ‘es’: 2}, {‘mejor’: 5, ‘gfg’: 7, ‘es’: 3}, {‘mejor’ : 6, ‘gfg’: 9, ‘is’: 8}]
La suma de la clave particular es: 17
Método #2: Usarsum() + itemgetter() + map()
La combinación de estas funciones también se puede usar para realizar esta tarea. En esto, la principal diferencia es que la tarea de comprensión es realizada por map()
y la tarea de acceso clave es realizada por elitemgetter().
# Python3 code to demonstrate working of # Value summation of key in dictionary # Using sum() + itemgetter() + map() import operator # Initialize list test_list = [{'gfg' : 1, 'is' : 2, 'best' : 3}, {'gfg' : 7, 'is' : 3, 'best' : 5}, {'gfg' : 9, 'is' : 8, 'best' : 6}] # printing original list print("The original list is : " + str(test_list)) # Value summation of key in dictionary # Using sum() + itemgetter() + map() res = sum(map(operator.itemgetter('gfg'), test_list)) # printing result print("The sum of particular key is : " + str(res))
La lista original es: [{‘mejor’: 3, ‘gfg’: 1, ‘es’: 2}, {‘mejor’: 5, ‘gfg’: 7, ‘es’: 3}, {‘mejor’ : 6, ‘gfg’: 9, ‘is’: 8}]
La suma de la clave particular es: 17
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