021
lambda函数
匿名函数
def ds(x):
return 2x+1
相当于:
g=lambda x : 2x+1
g(5)
输出: 11
def add(x,y):
return x=y
相当于:
g=lambda x,y :x+y
g(3,4)
输出:7
lambda表达式的作用:
1 Python写一些执行脚本时,使用lambda就可以省下定义函数的过程,使用lambda可以使代码更加精简
2 对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,使用lambda可以不用考虑命名问题
3 简化代码可读性,调用方法时经常要去看def,查看该方法作用,使用lambda可以省去这样的步骤
2个牛比的BIF
filter(function or None,iterable)
例:
list(filter(None,[1,0,False,True]))
输出:[1,True]
def odd(x):
return x%2
temp=range(10)
show=filter(odd,temp)
list(show)
输出:[1,3,5,7,9]
注:如果第一个参数a为None,那么返回第二个参数b迭代后里面所有为True的数,如果第一个参数a是一个方法,则会把第二个参数b迭代后,每个数i作为一个参数传入第一个参数方法a里面,如果第一个参数方法a返回True,则返回这个数i,最后所有符合的i都会被返回(1被认定为True,0是False)
使用lambda表达式简化:
list(filter(lambda x :x%2,range(10)))
输出:[1,3,5,7,9]
map(function,*iterables)映射,和filter()类似,但是是把第二个参数迭代后,每个被迭代的数传入第一个方法当做参数,加工后全部返回