1.概念
匿名函数: 使用 lambda 关键字 定义的表达式,称为匿名函数.
2.语法
- lambda 参数, 参数: 一行代码
- # 只能实现简单的功能,只能写一行代码
- # 匿名函数 一般不直接调用,作为函数的参数使用的
3.代码
4.练习
# 1, 定义匿名函数, 参数为两个整数数字, 求两个数字的乘积
lambda a, b: a * b.pr
# 2, 定义匿名函数, 参数为一个字典, 返回字典中 键为 age 的值
lambda x: x.get('age')
lambda x: x['age']
5.匿名函数的应用
对列表进行排序
列表.sort()
- 只能对数字,字符串排序
user_list1 = [5, 2, 3] user_list1.sort() print(user_list1) # [2, 3, 5]
列表.sort(key=键的值)
- 对列表中的字典排序:想要对列表中的字典排序,需要 key 形参来指定根据字典中的什么键排序
- key 这个参数需要传递一个函数,
- (1)使用匿名函数 列表.sort(key=lambda x: x['键'])
- (2)使用普通def函数列表.sort(key=函数)
user_list = [{'name': '张三', 'age': 22, 'title': '测试工程师'},{'name': '李四', 'age': 24, 'title': '开发工程师'},{'name': '王五', 'age': 21, 'title': '测试工程师'} ] user_list.sort(key=lambda x: x['age']) print(user_list) # [{'name': '王五', 'age': 21, 'title': '测试工程师'}, {'name': '张三', 'age': 22, 'title': '测试工程师'}, {'name': '李四', 'age': 24, 'title': '开发工程师'}]
user_list = [{'name': '张三', 'age': 22, 'title': '测试工程师'},{'name': '李四', 'age': 24, 'title': '开发工程师'},{'name': '王五', 'age': 21, 'title': '测试工程师'} ]def func(x):return x['age']user_list.sort(key=func) print(user_list) # [{'name': '王五', 'age': 21, 'title': '测试工程师'}, {'name': '张三', 'age': 22, 'title': '测试工程师'}, {'name': '李四', 'age': 24, 'title': '开发工程师'}]
未完待续。。。