lambda 函数是 Python 中的置名函数,该函数实质上是一个 lambda 表达式,是不需要使用 def 关键字定义的函数, lambda 函数的语法格式如下:
lambda parameters:expression
- parameters 是可选的参数表,通常是用逗号分隔的变量或表达式,即位置参数。
- expression 是函数表达式,该表达式中不能包含分支或循环语句。
expression 表达式的值将会作为 lambda 函数的返回值。
lambda 函数的应用场景是定义简单的、能在一行内表示的函数,返回一个函数类型。
例 6-13 应用 lambda 函数求圆柱体体积:
>>> import math
>>> area = lambda r:math.pi*r*r
>>> volume = lambda r,h:math.pi*r*r*h
>>> print("{:6.2f}".format(area(2)))
12.57
>>> print(volume(2,5))
62.83185307179586
例 6-14 应用 lambda 函数,将列表中的元素按照绝对值大小进行升序排列:
>>> lst1 = [3,5,-4,-1,0,-2,-6] >>> lst2 = sorted(lst1,key=lambda x:abs(x)) >>> type(lst2)>>> lst2 [0, -1, -2, 3, -4, 5, -6]
>>> lst1 = [3,5,-4,-1,0,-2,-6] >>> def get_abs(x): return abs(x) >>> lst2 = sorted(lst1,key=get_abs) >>> lst2 [0, -1, -2, 3, -4, 5, -6]
sorted() 函数对所有可迭代的对象进行排序操作。
语法:
sorted(iterable, key=None, reverse=False)
- iterable – 可迭代对象。
- key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
abs() 函数返回数字的绝对值。



