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

Python (189) 2023-07-24 12:05:32

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

例如下面代码:

list=[1,2,3,4]
t=reduce(lambdax,y:x*y,list)
print(t)

上述代码传给reduce的函数是做乘法,数据集是list,那么reduce函数的作用就是将数据集中的数据依次相乘,最后打印出的结果就是24。

凡是要对一个数据集合进行操作的,而且需要返回一个统计结果的,能够用循环或者递归方式解决的问题,一般情况下都可以用reduce方式实现。

在python 3.0.0.0以后, 如果要用它就得from functools import reduce。

lambd表达式是一种精简函数的表达方法,省略了函数的定义,命名等问题。如下函数:

defexp(n):
returnn*n

exp(6)返回36

而用lambda表示:

num=lambdan:n*n

num(6)也是36

THE END

发表回复