python lambda表达式
python lambda表达式
1、概念
表达式和语句的区别:简单理解为 语句带有定义和:,或者是有换行的格式。表达式主要是=,或一句话。
lambda为表达式,所以后面不能连接语句,在定义变量后,:后面只能是一个表达式或return
用return可以返回的也可以放在lambda后面,不能用return返回的也不能定义在python lambda后面。
像if或for或print这种语句就不能用于lambda中
在列表中使用lambda表达式不建议, 因为python lambda它会创建一个函数对象,但马上又给丢弃了,因为你没有使用它的返回值,即那个函数对象。也正是由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员。
info = [lambda a: a**3, lambda b: b**3]
2、一个用在列表中的lambda
[a,t,o] = [lambda x : x for x in range(3)]
>>> [a,t,o] = [lambda x : x for x in range(3)] >>> >>> a(9) 9 >>>
注意lambda 定义函数必须有变量接收。
参考:
http://www.cnblogs.com/wanpython/archive/2010/11/01/1865919.html
浙公网安备 33010602011771号