Python|列表中前缀的乘积
如今,特别是在竞争性编程领域,计算前缀积的应用非常流行,并且存在很多问题。因此,拥有一个单一的解决方案将有很大的帮助。让我们讨论一下可以解决这个问题的某种方法。
方法:使用列表理解+列表切片
这个问题可以通过以上两个函数的组合来解决,我们使用列表推导将逻辑扩展到每个元素,然后计算产品,切片用于获取产品直到特定索引。
# Python3 code to demonstrate
# Product of Prefix in list
# using list comprehension + list slicing
# compute prod
def prod(test_list):
res = 1
for ele in test_list:
res = res * ele
return res
# initializing list
test_list = [3, 4, 1, 7, 9, 1]
# printing original list
print("The original list : " + str(test_list))
# using list comprehension + list slicing
# Product of Prefix in list
res = [prod(test_list[ : i + 1 ]) for i in range(len(test_list))]
# print result
print("The prefix prod list is : " + str(res))
输出 :
The original list : [3, 4, 1, 7, 9, 1]
The prefix prod list is : [3, 12, 12, 84, 756, 756]