📜  Python – Product 和 Inter Summation 字典值

📅  最后修改于: 2022-05-13 01:55:52.258000             🧑  作者: Mango

Python – Product 和 Inter Summation 字典值

有时,在使用Python字典时,我们可能会遇到需要执行整个值列表的乘积并将每个列表的乘积与其他列表相加的问题。这种应用程序在 web 开发和日常编程中。让我们讨论可以执行此任务的某些方式。

方法#1:使用zip() + map() + sum() + loop
上述功能的组合可以用来解决这个问题。在此,我们使用 sum() 对值求和,zip() 绑定所有值。 map() 用于绑定值列表中所有元素的乘法逻辑。所有这些都是使用循环绑定的。

# 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)) 
输出 :

方法 #2:使用map() + reduce() + lambda + zip() + sum() + generator 表达式
上述功能的组合可以用来解决这个问题。在此,我们使用 reduce 和 lambda 执行乘法任务,生成器表达式执行迭代任务。

# 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)) 
输出 :