匿名函数
使用def定义的函数是一个普通的函数, 适合用于功能完善的代码
匿名函数使用lambda
定义
python
lambda value1, value2 ... : 表达式
pythonlambda a, b : a + b
调用
这一个函数没有名字, 使用的时候一般使用一个变量指向这一个函数, 之后使用这一个变量进行调用
python
my_test_func = lambda a, b : a + b
my_test_func(11, 22)
还有一种使用方式是把这一个当做函数的参数进行传递, 之后使用这一个函数的参数调用这一个函数
python
def func_test(func):
print(func(11, 22))
func_test(lambda a,b : a + b)
实际的使用
使用sort的时候, 不能对一个字典里列表面的数据进行排序, 这时候可以设置sort函数的key参数
这一个key指向一个函数, 这一个函数会返回一个用于比较的值
python
stus = [
{"name": "jiao", "age":21}, {"name": "shi", "age":23}, {"name": "dong", "age":19},
]
# def sort_by_age(arg):
# return arg["age"]
# print(stus)
# stus.sort(key = sort_by_age)
print(stus)
stus.sort(key = lambda arg: arg["age"])
bash
PS E:\JHY\python\2024-4-22> python -u "e:\JHY\python\2024-4-22\main.py"
[{'name': 'jiao', 'age': 21}, {'name': 'shi', 'age': 23}, {'name': 'dong', 'age': 19}]
[{'name': 'dong', 'age': 19}, {'name': 'jiao', 'age': 21}, {'name': 'shi', 'age': 23}]