python基础--lambda

来源:互联网 发布:奥林巴斯25mm1.8知乎 编辑:程序博客网 时间:2024/06/05 16:15

1,lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方。作为表达式,lambda返回一个值(即一个新的函数)。lambda用来编写简单的函数,而def用来处理更强大的任务。

[python] view plain copy
  1. f = lambda x,y,z : x+y+z  
  2. print f(1,2,3)  
  3.   
  4. g = lambda x,y=2,z=3 : x+y+z  
  5. print g(1,z=4,y=5)  
输出结果为:

[python] view plain copy
  1. 6  
  2. 10  

2,lambda表达式常用来编写跳转表(jump table),就是行为的列表或字典。例如:

[python] view plain copy
  1. L = [(lambda x: x**2),  
  2.     (lambda x: x**3),  
  3.     (lambda x: x**4)]  
  4. print L[0](2),L[1](2),L[2](2)  
  5.   
  6. D = {'f1':(lambda2+3),  
  7.     'f2':(lambda2*3),  
  8.     'f3':(lambda2**3)}  
  9. print D['f1'](),D['f2'](),D['f3']()  
输出结果为:

[python] view plain copy
  1. 4 8 16  
  2. 5 6 8  

3,lambda表达式可以嵌套使用,但是从可读性的角度来说,应尽量避免使用嵌套的lambda表达式。
原创粉丝点击