描述

reduce() 函数会对参数序列中元素进行累积。

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

语法

reduce() 函数语法:

reduce(function, iterable[, initializer])

返回值

返回函数计算结果。

 

老方法,先给一个需求,把下面list中的数计算一个和

#用函数写法
num_l = [1,2,3,100]
def reduce_test(array):
    res = 0
    for num in array:
        res+=num
    return  res
print reduce_test(num_l)

 上面写法问题是把计算方法写死了,所以要单独写一个函数

 

num_l = [1,2,3,100]
def sumadd(x,y):
    res=x+y
    return  res
def reduce_test(func,array):
    res = 0
    for num in array:
        res=func(res,num)
    return  res
print reduce_test(sumadd,num_l)

 最后采用reduce函数和匿名函数结合

print reduce(lambda x,y:x+y,num_l)