python 对 lambda有比较简单有限的支持.
lambda 表达式只是对简单到只有一行代码的函数的语法糖(简写), 如果有多行代码, 则无法使用 lambda 表达式.
但是在别的语言中, lambda 表达式是比较强悍的.
python 的 lambda 确实比较弱.
心里时刻想着 lambda 是对只有一行的函数的简写, 你会发现lambda
表达式真的很简单!
语法:
lambda 形参列表 : 表达式
说明:
关键字
lambda
后面紧跟着形参列表. 注意形参列表不能用圆括号括起来形参列表后面紧跟着一个冒号(
:
)冒号后面是唯一的表达式. 注意:此表达式必须是合法的表达式.
lambda
会自动返回表达式的运算结果.
返回一个lambda
表达式
def foo(a):
return lambda x: x + a
f = foo(30)
print(f(20))
print(f(40))
lambda
作为参数传递
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda p: p[1]) # 对列表进行排序
print(pairs)