lambda是一个表达式,并不像def一样定义一个复杂的函数,很简洁的一个代码块。通常被用来创建匿名函数。lambda的好处也很明显,首先省去了函数的定义过程,直接返回需要的数据,因为是创建的匿名函数也就不用考虑函数名了,通过lambda表达式可以简化代码,使代码具有更友好的可读性。
首先看一下lambda表达式的语法。
语法也很简单,lambda [arg1 [,arg2,.....argn]]:expression 提供过lambda关键字,跟上参数后加冒号后跟上函数体。举个例子(如图):
其次略微复杂的例子。
使用lambda表达式和内置函数编写两个略微复杂的例子。
1、利用filter过滤函数输出0-9之间的奇数,如图:
可以看的出来,利用lambda只用了一行代码就输出了0-9之前的奇数,而常规的def自定义函数需要定义函数体后调用转换,显然lambda表达式具有更强的可读性。
2、利用map映射函数输出序列加工后的新序列,如图:
好了,明天学习Python的递归方法。