lambda函数的格式 lambda argument_list: expression
argument_list指参数列表,如
a, b
a=1, b=2
*args
**kwargs
a, b=1, *args
expression是一个参数表达式,如
a+b
lambda函数的输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。如:
lambda x, y: xy;函数输入是x和y,输出是它们的积xy
lambda:None;函数没有输入参数,输出是None
lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)
lambda **kwargs: 1;输入是任意键值对参数,输出是1
在列表生成式内定义的lambda函数是一个闭包,而变量i属于这个闭包引用的外部列表生成式中的变量。因此,在lambda函数内的i并不会被立即求值,而是会被保留为引用,直到调用这个lambda函数时,才去获取i的值。
本文只介绍简单的lambda使用,详细使用请看一下链接