lambda函数的用法

语法

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

上一篇:项目中用到的 JDK 7、JDK 8 的新特性(2)Lambda 表达式


下一篇:常用内置函数