5

可能重复:
返回列表的产品

除了这种方式之外,还有其他方法可以获取列表的产品:

def prod(L):
 p=1
 for i in L:
   p= i * p
 return p

这段代码是正确的,但我需要找到另一种方法来做到这一点。而且我真的找不到。

4

4 回答 4

11
于 2012-08-04T10:16:36.783 回答
6
>>> reduce(lambda x, y: x * y, [1, 2, 3], 1)
6
>>> reduce(lambda x, y: x * y, [], 1)
1
于 2012-08-04T10:17:46.943 回答
6

If you're allowed to use numpy:

import numpy as np
product = np.product([1, 2, 3]) # returns 1.0 if empty list
于 2012-08-04T10:29:59.763 回答
2
def prod(array):
    if len(array)==0: return 1
    else: return array[0]*prod(array[1:])
于 2012-08-04T10:23:53.323 回答