Python中reduce函数和lambda表达式的学习

2020/09/27 10:03

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

免费直播

    精选课程 更多

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司