匿名函数:
格式:lambda 形参1, 形参2, …: 单行表达式 或 函数调用
特点:
不能使用 if while for。但是可以使用单行表达式 函数调用
返回结果不需要使用return返回
表达式运行结果就是返回结果
只能写一行
主体是一个表达式,而不是一个代码块
作用一:实现标准函数的功能
def fun(a, b):
return a + b
lambda a, b: a + b
作用二:作为一个函数的参数传递
def fun1(a, b, fun_name):
return fun_name(a, b)
fun1(10, 5, lambda x, y: x * y)
作用三:用于列表的自定义排序
# 列表嵌套字典
# 格式:key= lambda 临时变量: 临时变量[key]
my_list = [{"name": "小明", "age": 19},
{"name": "小红", "age": 18},
{"name": "小白", "age": 20}
]
my_list.sort(key=lambda d: d['age'])
print(my_list)
# 列表嵌套列表
# 格式:key= lambda 临时变量: 临时变量[index]
my_list1 = [[2, 5, 8], [3, 46, 9], [1, 34, 56]]
# 以子列表的第二个元素进行升序
my_list1.sort(key=lambda i: i[1])
print(my_list1)