简介:
Python使用lambda来创建匿名函数。
lambda的主题个表达式,函数体比def简单的多。
lambda函数有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里面的参数。
虽然lambda函数看起来只有一行,确不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法:
Lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]] : expression
from functools import reduce
l = [1,2,3,4,5]
print(reduce(lambda x,y:x+y,l))
print(reduce(lambda x,y:x+y,l,10))
new_list = list(map(lambda x:x*2,l))
print(new_list)
merge_list = list(map(lambda x,y:x+y,l,new_list))
print(merge_list)
l = [100,80,60,40,20,0]
new = list(filter(lambda x:x<50,l))
print(new)
内建函数:
reduce函数 把一个list给缩成一个值,所以必须用二元操作数。
map函数应用于每一个可迭代的项,返回的结果是一个list。
filter函数可以对序列做过滤处理,使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回最终结果。