匿名函数 lambda函数
语法:
lambda 参数1, 参数2…:表达式
限制:
①只能写一个表达式,不能直接return
②表达式的结果就是返回值
③所以,只适用于一些简单的操作处理
示例一
# 这里的(lambda x, y: x + y)就是代表一个函数
# (1, 2)代表往这个函数中传递的参数
result = (lambda x, y: x + y)(1, 2)
print(result)
3
示例二
# newFunc就代表的后面的匿名函数
newFunc = lambda x, y: x + y
# 调用匿名函数,传入数值
print(newFunc(4, 5))
9
具体应用
因为某些函数可能只是用一次,所以这个时候可以用匿名函数来进行替代
# 用年龄进行排序
l = [{"name": "xiaoming", "age": 17}, {"name": "xiaohong", "age": 20}, {"name": "xiaopeng", "age": 24}]
result = sorted(l, key = lambda x: x["age"])
print(result)
[{'name': 'xiaoming', 'age': 17}, {'name': 'xiaohong', 'age': 20}, {'name': 'xiaopeng', 'age': 24}]
# 用姓名进行排序
l = [{"name": "xiaoming", "age": 17}, {"name": "xiaohong", "age": 20}, {"name": "xiaopeng", "age": 24}]
result = sorted(l, key = lambda x: x["name"])
print(result)
[{'name': 'xiaohong', 'age': 20}, {'name': 'xiaoming', 'age': 17}, {'name': 'xiaopeng', 'age': 24}]