Python相当于MATLAB命令prod

时间:2013-11-23 04:00:25

标签: python matlab numpy porting

是否有一个python等效的MATLAB命令“prod”(描述为here)?

2 个答案:

答案 0 :(得分:7)

您可以在Python中使用reduce

>>> from operator import mul
>>> reduce(mul, range(1, 5))
24

或者,如果你很笨拙,那么最好使用numpy.prod

>>> import numpy as np
>>> a = np.arange(1, 10)
>>> a.prod()
362880
#Product along a axis
>>> a = np.arange(1, 10).reshape(3,3)
>>> a.prod(axis=1)
array([  6, 120, 504])

答案 1 :(得分:1)

python中没有这样的功能,但您可以使用reduce这样的列表中的所有元素的产品

myList = [1, 2, 3]
print reduce(lambda x, y: x * y, myList, 1)