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中有定义,并且表达式只能是单行的 ;

适用场景:

  • 函数功能简单,一句话就可以实现
  • 偶而性使用,不需要考虑复用

参考:细说Python的lambda函数用法,建议收藏 - 知乎

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐