Python: valores de diccionario de producto e intersuma

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 : 60

Entrada : 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)) 
Producción :

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)) 
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *