A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos realizar el producto de la lista de valores completa y realizar la suma del producto de cada lista con otra. Este tipo de aplicación en desarrollo web y programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = {‘gfg’: [4], ‘es’: [3], ‘mejor’: [5]}
Salida : 60Entrada : test_dict = {‘gfg’: [0]}
Salida : 0
Método #1: Usar el zip() + map() + sum()
bucle +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la suma de valores usando sum(), zip() une todos los valores. El mapa() se usa para vincular la lógica de multiplicación en todos los elementos en la lista de valores. Todo esto está enlazado usando loop.
# Python3 code to demonstrate working of # Product and Inter Summation dictionary values # Using zip() + map() + sum() + loop # helper function def mul(sub): res = 1 for ele in sub: res *= int(ele) return res # initializing dictionary test_dict = {'gfg' : [4, 5, 6], 'is' : [1, 3, 4], 'best' : [7, 8, 9]} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Product and Inter Summation dictionary values # Using zip() + map() + sum() + loop temp = zip(*test_dict.values()) res = sum(map(mul, temp)) # printing result print("The summations of product : " + str(res))
El diccionario original: {‘mejor’: [7, 8, 9], ‘es’: [1, 3, 4], ‘gfg’: [4, 5, 6]}
Las sumatorias del producto: 364
Método n.º 2: usar la map() + reduce() + lambda + zip() + sum()
expresión del generador +
La combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de multiplicación usando reduce y lambda y generador de expresión realiza la tarea de iteración.
# Python3 code to demonstrate working of # Product and Inter Summation dictionary values # Using map() + reduce() + lambda + zip() + sum() + generator expression from functools import reduce # initializing dictionary test_dict = {'gfg' : [4, 5, 6], 'is' : [1, 3, 4], 'best' : [7, 8, 9]} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Product and Inter Summation dictionary values # Using map() + reduce() + lambda + zip() + sum() + generator expression res = sum(map(lambda ele: reduce(lambda x, y: int(x) * int(y), ele), zip(*test_dict.values()))) # printing result print("The summations of product : " + str(res))
El diccionario original: {‘mejor’: [7, 8, 9], ‘es’: [1, 3, 4], ‘gfg’: [4, 5, 6]}
Las sumatorias del producto: 364
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