python lambda 表达式

2015-9-9 杜世伟 Python

python lambda表达式

lambda表达式是一行函数。

lambda只是一个表达式,函数体比def简单很多。

lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。

它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。


原型

    lambda 参数:操作(参数)
例子

    add = lambda x, y: x + y

    print(add(3, 5))
    # Output: 8

    sub = lambda x, y: x + y

    print(add(5, 2))
    # Output: 3

这还有一些lambda表达式的应用案例,可以在一些特殊情况下使用:

列表排序

    a = [(1, 2), (4, 1), (9, 10), (13, -3)]
    a.sort(key=lambda x: x[1])

    print(a)
    # Output: [(13, -3), (4, 1), (1, 2), (9, 10)]
列表并行排序

    data = zip(list1, list2)
    data.sort()
    list1, list2 = map(lambda t: list(t), zip(*data))

标签: python lambda map list zip

Powered by emlog 沪ICP备2023034538号-1