lambda可以理解为一种小函数,但是它是一个表达式,而不是一个语句,所以在def不允许出现的地方仍然可以使用lambda函数,例如list里。但是lambda内只可以执行一个表达式。
#lambda
#普通的函数
def add(x,y):
return x+y
print add(1,2)
#lambda函数
func = lambda x,y:x+y
print func(1,2)
#default argument in lambda
#lambda函数中的默认函数
func = lambda x,y=2:x+y
print func(1)
#why do we need lambda
#lambda函数存在的意义
#a list of functions
#一个函数列表
L = [(lambda x: x**2), (lambda x: x**3), (lambda x: x**4)]
#function dictionary
#函数字典
key = 'got'
print {'already': (lambda: 2 + 2),
'got': (lambda: 2 * 4),
'one': (lambda: 2 ** 6)
}[key]()
