文章目录
一. 匿名函数
匿名函数是一类无须定义标识符的函数,它与普通函数一样可以在程序的任何位置使用,但是在定义时被严格限定为单一表达式。Python中使用关键字lambda来定义匿名函数。
语法格式如下:
#用f存储这个函数,以便被调用
f = lambda x, y: x + y
print(f(10, 20))
这个语句等价于如下正常函数的定义:
def 函数名(参数列表):
return表达式
与普通的函数相比,lambda函数的体积更小、功能单一,用于定义简单的、能在一行内表示的函数,返回一个函数类型。
与普通函数的区别:
- 普通函数在定义时有名称,而lambda函数没有。
- 普通函数的函数体中可以包含多条语句,而lambda函数只能是一个表达式。普通函数可以实现比较复杂的功能,而lambda函数功能简单。
- 普通函数能被其他程序调用,而lambda函数不能被其他程序调用(不能模块化?),
经常用一个变量来保存它,以便后期可以随时使用这个函数
。
lambda函数经常会用在多维列表的排序中。如对二维列表按第二列排序分别升序、降序排序,示例代码如下:
ls = [['a', 100], ['b', 10], ['c', 30], ['d', 90], ['e', 50]]
ls.sort(key=lambda x: