lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
lambda表达式的作用:
- python写一些执行脚本时,使用lambda就可以省下定义函数的过程,可以使得代码更加精简。
- 对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的问题,使用lambda就不用考虑命名问题。
- 简化代码的可读性。
lambda实现过滤偶数例子:
不使用lambda:
1 def odd(x): 2 return x % 2 3 temp = range(10) 4 show = filter(odd,temp) 5 print list(show)
使用lambda:
1 print list(filter(lambda x: x % 2, range(10)))