匿名函数(lambda表达式)
在Python中,函数能够算的上是“一等公民”了,咱们先回顾下函数的长处:

缩小代码反复量
模块化代码
然而咱们有没有想过,如果咱们须要一个函数,比拟简短,而且只须要应用一次(无需反复调用),那还须要定义一个有名字的函数么?

答案是否定的,这里咱们就能够应用匿名函数来实现这样的性能。

咱们先看看求一个数的平方,咱们定义个函数怎么写:

def square(x):    return x**2square(3)

而lambda表达式就能够这样写:

square = lambda x: x**2square(3)

依据下面的例子,其实lambda表达式应用还是很简略的,如下:

lambda argument1, argument2,.....: expression

接下来,介绍的map、filter和reduce函数,与lambda表达式联合应用,能力施展其弱小的作用了。

map函数
map函数的应用如下:

map(function, iterable)

其作用是,对iterable的每个元素,都使用function这个函数,最初返回新的可遍历的汇合。

a = [1,2,3,4,5]b = map(lambda x: x*2,a)print(list(b))# [2, 4, 6, 8, 10]

filter函数
filter函数的应用如下:

filter(function, iterable)

其作用是,对iterable的每个元素,都使用function这个函数进行判断,最初返回全副为True的新的可遍历的汇合。

'''a = [1,2,3,4,5,6]b = filter(lambda x :x%2 ==0, a)print(list(b))# [2, 4, 6]

reduce函数
reduce函数的应用如下:

reduce(function, iterable)

function规定有两个参数,示意对iterable每个元素和上一次运算的后果,进行function运算,最初失去一个值,这里要留神,咱们须要从functools中导入reduce。

from functools import reducea = [1,2,3,4]b = reduce(lambda x,y: x*y,a)print(b)# 24  1*2*3*4

总结
lambda表达式
map、filter和reduce函数

以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注Python技术大本营,获取更多技能与教程。