语法
lambda 参数 :表达式
- 参数:类似与function()小括号中的参数,常见形式如下
- 表达式:表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的
特性
- lambda函数是匿名的,函数没有名字
- lambda具有输入输出,参数就是其输入,供表达式使用,表达式结果为函数的返回结果,即输出。所以使用lambda不需要在表达式中进行返回操作,函数自动将表达式结果返回
应用
add = lambda x,y:x+y
sum=add(x,y)
print(sum)
- 将lambda函数赋值给其他函数,这样之前函数就被lambda函数替换
import time
time.sleep = lambda x:None
filter(lambda x: x % 3 == 0, [1, 2, 3])
d = {'a':1,'b':4,'c':2}
sorted(d.items(),key = lambda x:x[1],reverse = True)
map(lambda x: x+1, [1, 2,3])
reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])