可能重复:
返回列表的产品
除了这种方式之外,还有其他方法可以获取列表的产品:
def prod(L):
p=1
for i in L:
p= i * p
return p
这段代码是正确的,但我需要找到另一种方法来做到这一点。而且我真的找不到。
可能重复:
返回列表的产品
除了这种方式之外,还有其他方法可以获取列表的产品:
def prod(L):
p=1
for i in L:
p= i * p
return p
这段代码是正确的,但我需要找到另一种方法来做到这一点。而且我真的找不到。
>>> reduce(lambda x, y: x * y, [1, 2, 3], 1)
6
>>> reduce(lambda x, y: x * y, [], 1)
1
If you're allowed to use numpy
:
import numpy as np
product = np.product([1, 2, 3]) # returns 1.0 if empty list
def prod(array):
if len(array)==0: return 1
else: return array[0]*prod(array[1:])