lambda函数也就是匿名函数,在python 编程中,习惯将其称为表达式;
快速实现某项功能,不用像def定义函数一样,需要再去想一个函数名字;
def 与 lambda 实现相同功能:
def函数写法:(关于map的用法,参考博客:python -- map(), numpy -- flatten()_无脑敲代码,bug漫天飞的博客-CSDN博客)
>>> def sq(x):
... return x*x
>>> map(sq, [y for y in range(10)])
<map object at 0x7fd1495492e0>
>>> list( map(sq, [y for y in range(10)]))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
lambda函数写法:
>>> list(map(lambda x: x*x,[y for y in range(10)]))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
lambda 函数语法:
lambda argument_list:expersion
argument_list是参数列表,它的结构与Python中函数(function)的参数列表是一样的;
语法中的expression是一个关于参数的表达式,表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的 ;
适用场景: