写在前面的话:犹记得实习面试的时候面试官问我会用python吗,我说会一点,然后面试官说那你说下lambda吧,我:???,当年为了写一个算法奉行拿来主义,半懂不懂得就把python拿来用了,根本没想过深入去学。现在接触了一点用python写脚本,就把lambda做个整理吧~
在此之前,先看个例子来理解一下,对于if else语句,可以使用三元运算来简化其表示:
同样,lambda是一个表达式,定义了一个匿名函数。直白一点说也可以把它理解成一种简化的函数的表示方式,先来看一个最简单的例子
def y(x):
return x*2
与函数相同,它的入口参数可以为多个,如:
不仅如此,lambda表达式也可以进行嵌套:
此外,python中有几个常用的全局函数可与lambda配套使用,具体如下:
(1)filter:对于序列中的元素进行筛选,最终获取符合条件的序列
最后,虽然lambda使得代码更为简洁,但是不如直接用函数表示的方式来的直观,同时它的应用也因为表达式的书写而受限,即仅能用于封装有限的逻辑进去。