reduce函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
例如下面代码:
list = [1,2,3,4] t = reduce(lambda x,y:x*y,list) print(t)
上述代码传给reduce的函数是做乘法,数据集是list,那么reduce函数的作用就是将数据集中的数据依次相乘,最后打印出的结果就是24。
凡是要对一个数据集合进行操作的,而且需要返回一个统计结果的,能够用循环或者递归方式解决的问题,一般情况下都可以用reduce方式实现。
在python 3.0.0.0以后, 如果要用它就得from functools import reduce。
lambd表达式是一种精简函数的表达方法,省略了函数的定义,命名等问题。如下函数:
def exp(n): return n*n
exp(6)返回36
而用lambda表示:
num = lambda n:n*n
num(6)也是36