• 4.7.5. Lambda 表达式

    4.7.5. Lambda 表达式

    可以用 lambda 关键字来创建一个小的匿名函数。这个函数返回两个参数的和: lambda a, b: a+b 。Lambda函数可以在需要函数对象的任何地方使用。它们在语法上限于单个表达式。从语义上来说,它们只是正常函数定义的语法糖。与嵌套函数定义一样,lambda函数可以引用包含范围的变量:

    1. >>> def make_incrementor(n):
    2. ... return lambda x: x + n
    3. ...
    4. >>> f = make_incrementor(42)
    5. >>> f(0)
    6. 42
    7. >>> f(1)
    8. 43

    上面的例子使用一个lambda表达式来返回一个函数。另一个用法是传递一个小函数作为参数:

    1. >>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
    2. >>> pairs.sort(key=lambda pair: pair[1])
    3. >>> pairs
    4. [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]