语法
lambda parameters: expression
转换成函数的样子
def <lambda>(parameters):
return expression
案例
lambda的函数赋值就是该函数名,官方说的是函数对象
a = lambda args, kwargs:print(f'log:{args},{kwargs}')
a(1,2) # log:1,2
# 把print方法写在函数中,然后赋值给该对象,lambda的函数赋值就是该函数名
print(a(1,2)) # log:1,2 None;默认return返回None
常用的做法
传递一个小函数作为参数
def make_incrementor(n):
return lambda x: x + n
f = make_incrementor(42)
print(f(0)) # 42
print(f(1)) # 43
排序
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda pair: pair[1])
print(pairs) # [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
相关链接https://www.cnblogs.com/wkhzwmr/p/15509914.html