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)]