reduce函数
其语法格式: reduce ( func , seq [ , init ] )
参数说明:
reduce函数即为化简,它是这样一个过程:每次迭代,将上一次的迭代结果(第一次时为init的元素,如没有init则为seq的第一个元素)与下一个元素一同执行一个二元的func函数。在reduce函数中,init是可选的,如果使用,则作为第一次迭代的第一个元素使用。
简单来说,可以用这样一个形象化的式子来说明:
reduce( func, [1, 2,3] ) = func( func(1, 2), 3)
例 1:
使用reduce实现一个阶乘的代码。
>>>
>>>n = 5
>>>print reduce(lambda x, y: x * y, range(1, n + 1))
120
>>>
例 2:
>>> m = 2
>>> n = 5
>>> print reduce( lambda x, y: x * y, range( 1, n + 1 ), m )
240
>>>
例 3:
def myadd(x,y):
return x+y
sum=reduce(myadd,(1,2,3,4,5,6,7))
print sum
例 4:
def myadd(x,y):
return x+y
sum=reduce(myadd,(1,2,3,4,5,6,7))
print sum