python笔记-浅析之匿名函数
匿名函数顾名思义藏匿名字的函数。
三个作用:
1.对函数的另一种解释
对函数的另一种解释
# 无参数无返回值
def print_info():
print("你好世界")
# print_info()
# f = lambda :print("你好世界")
# f()
# 无参数有返回值
def get_pi():
return 3.1415926
# ret = get_pi()
# print(ret)
# f = lambda :3.1415926
# ret = f()
# print(ret)
# 有参数无返回值
def hello(name):
print("你好%s" % name)
# hello("中国")
# f = lambda name : print("你好%s" % name)
# f("龟叔")
# 有参数有返回值
def add2num(a, b):
return a + b
# ret = add2num(10, 20)
# print(ret)
f = lambda a, b: a + b
ret = f(10, 30)
print(ret)
2.可以作为函数的参数
f = lambda a, b, c: a + b + c
def average3num(num1, num2, num3, func):
# 求和
ret = func(num1, num2, num3)
return ret / 3
# 一个函数也可以作为另一个函数的参数传递
# 匿名函数可以作为函数的参数
result = average3num(10, 20, 30, f)
print(result)
3.自定义排序
# 01:列表嵌套字典
自定义排序 -> 列表
# 格式: 需要排序的列表.sort(key=lambda 临时变量:临时变量[key])
# stus.sort(key=lambda dict:dict["age"])
# print(stus)
# 02: 列表嵌套列表
# my_list = [[3, 10, 11], [4, -100, 10], [1, 11, 20]]
# # 排序
# # # 格式: 需要排序的列表.sort(key=lambda 临时变量:临时变量[index])
# my_list.sort(key=lambda a:a[1], reverse=True)
# print(my_list)
# 03: 按照name进行排序
stus = [{"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 19}, {"name": "wangwu", "age": 17}]
stus.sort(key=lambda dict:dict["name"])
print(stus)