匿名函数
1)用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
lambda 表达式可以用来声明匿名函数。lambda 函数是一种简单的、在同一行中定义函数的方法。lambda 函数实际生成了一个函数对象。
2)lambda 表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数
的返回值。
3)lambda 表达式的基本语法如下:
lambda arg1,arg2,arg3… : <表达式>
arg1/arg2/arg3 为函数的参数。<表达式>相当于函数体。运算结果是:表达式的运算结果。
例1:
x=lambda x:2*x+3 #x:形参,2*x+3:表达式
print(x(10))
y=lambda a,b:a*2+b
print(y(3,5))
输出:
23
11
例2:
a={'name':'张三','age':18,'sex':'男'}
x=lambda b:b['age']
print(x(a))
输出:
18
例3:
求在绝对值中的最大值的数:
a=[1,-21,12]
b=max(a,key=abs) #abs() 求绝对值
print(b) #求绝对值的最大值的数
输出:
-21
例4:按取绝对值排序再输出原值
a=[2,-2,3,1,9,-6]
a.sort(key=abs) #key=abs 取绝对值
print(a)
输出:
[1, 2, -2, 3, -6, 9]
例5:按取绝对值排序value 再输出 最大value的一项字典
a=[
{'name':'1','age':'15','sex':'男'},
{'name':'2','age':'21','sex':'女'},
{'name':'3','age':'21','sex':'男'}
]
b=max(a,key=lambda x:x['age']) #解读:在a中的字典中age 最大数
print(b)
输出:
{‘name’: ‘2’, ‘age’: ‘21’, ‘sex’: ‘女’}