📜  Python|增量记录产品

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

Python|增量记录产品

有时,在处理数据时,我们可能会遇到需要查找元组中每个索引的累积乘积的问题。这个问题可以在 Web 开发和竞争性编程领域中得到应用。让我们讨论一下可以解决这个问题的某种方法。

方法:使用accumulate() +循环+ lambda + map() + tuple() + zip()
上述功能的组合可以用来解决这个任务。在此,我们使用 zip() 对元素进行配对,然后执行它们的乘积,并使用 map() 将其扩展到所有元素。积的提取是通过使用累积来完成的。所有逻辑的绑定都是由 lambda 函数完成的。

# Python3 code to demonstrate working of
# Incremental Records Product
# Using accumulate() + loop + lambda + map() + tuple() + zip()
from itertools import accumulate
  
def prod(val) :     
    res = 1         
    for ele in val:         
        res *= ele         
    return res
      
# initialize list
test_list = [(3, 4, 5), (4, 5, 7), (1, 4, 10)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Incremental Records Product
# Using accumulate() + loop + lambda + map() + tuple() + zip()
res = list(accumulate(test_list, lambda i, j: tuple(map(prod, zip(i, j)))))
  
# printing result
print("Accumulative index product of tuple list : " + str(res))
输出 :
The original list : [(3, 4, 5), (4, 5, 7), (1, 4, 10)]
Accumulative index product of tuple list : [(3, 4, 5), (12, 20, 35), (12, 80, 350)]