匿名函数(lambda表达式)在Python中,函数可以被视为“一等公民”。先回顾一下函数的优点:减少代码重复,模块化代码但是我们有没有想过,如果我们需要一个函数,比较简短,只需要使用一次(不需要重复调??用),我们还需要定义一个有名字的函数?答案是否定的,这里我们可以使用匿名函数来实现这样的功能。让我们先看看求一个数的平方。让我们定义一个函数并编写它:defsquare(x):returnx**2square(3)lambda表达式可以这样写:square=lambdax:x**2square(3)根据上面的例子,lambda表达式的使用其实很简单,如下:lambdaargument1,argument2,...:expression接下来介绍的map、filter和reduce函数结合lambda表达式使用。发挥其强大的作用。map函数map函数的使用如下:map(function,iterable)它的作用是对iterable的每一个元素使用function函数,最后返回一个新的可遍历集合。a=[1,2,3,4,5]b=map(lambdax:x*2,a)print(list(b))#[2,4,6,8,10]过滤函数filterfunction使用如下:filter(function,iterable)它的作用是利用function函数对iterable的每一个元素进行判断,最终返回一个新的全为True的可遍历集合。'''a=[1,2,3,4,5,6]b=filter(lambdax:x%2==0,a)print(list(b))#[2,4,6]reducefunctionreduce函数的使用如下:reduce(function,iterable)函数规定有两个参数,意思是iterable的每一个元素和前面运算的结果都对函数进行运算,最后是一个值获得。这里注意,我们需要从functoolsImportreduce中获取一个值。fromfunctoolsimportreducea=[1,2,3,4]b=reduce(lambdax,y:x*y,a)print(b)#241*2*3*4总结lambda表达式map,filter和上面的reduce函数就是本次分享的全部内容。欢迎想要学习编程的朋友关注Python技术大本营获取更多技能和教程。
