A veces, mientras trabajamos con registros, podemos tener problemas en los que necesitamos realizar la suma de claves anidadas de una clave y registrar la suma como el valor de la clave. Esto puede tener posibles aplicaciones en dominios como la ciencia de datos y el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Usar bucle
Esta es una forma de fuerza bruta en la que podemos realizar esta tarea. En esto, iteramos a través del diccionario anidado, sumando los valores y asignándolos a la clave respectiva.
# Python3 code to demonstrate working of # Nested record values summation # Using loop # initializing dictionary test_dict = {'gfg' : {'a' : 4, 'b' : 5, 'c' : 6}, 'is' : {'a': 2, 'b' : 9, 'c' : 10}, 'best' : {'a' : 10, 'b' : 2, 'c' : 12}} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Nested record values summation # Using loop res = dict() for sub in test_dict: sum = 0 for keys in test_dict[sub]: sum = sum + test_dict[sub][keys] res[sub] = sum # printing result print("The dictionary after keys summation is : " + str(res))
The original dictionary is : {'best': {'a': 10, 'c': 12, 'b': 2}, 'is': {'a': 2, 'c': 10, 'b': 9}, 'gfg': {'a': 4, 'c': 6, 'b': 5}} The dictionary after keys summation is : {'best': 24, 'is': 21, 'gfg': 15}
Método n.º 2: usarsum()
Esto es otra forma más en la que se puede realizar esta tarea. En esto, realizamos la tarea de cálculo usando sum().
# Python3 code to demonstrate working of # Nested record values summation # Using sum() from collections import Counter # initializing dictionary test_dict = {'gfg' : {'a' : 4, 'b' : 5, 'c' : 6}, 'is' : {'a': 2, 'b' : 9, 'c' : 10}, 'best' : {'a' : 10, 'b' : 2, 'c' : 12}} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Nested record values summation # Using sum() res = dict() for sub in test_dict: res[sub] = sum([test_dict[sub][ele] for ele in test_dict[sub]]) # printing result print("The dictionary after keys summation is : " + str(dict(res)))
The original dictionary is : {'best': {'a': 10, 'c': 12, 'b': 2}, 'is': {'a': 2, 'c': 10, 'b': 9}, 'gfg': {'a': 4, 'c': 6, 'b': 5}} The dictionary after keys summation is : {'best': 24, 'is': 21, 'gfg': 15}
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