一、匿名函数
指藏匿名字的函数
格式:lamda
名称 | 匿名函数作用 |
---|---|
1 | 对函数的简写 |
2 | 函数作为参数传递 |
1.1 对函数的简写
1.1.1 无参数无返回值的函数
第一种方式:
print_info = lambda: print("Hello")
print_info()
第二种方式:
(lambda: print("Hello"))()
1.1.2 无参数有返回值的函数
eg:
print((lambda: 3.14)())
1.1.3 有参数无返回值的函数
(lambda num: print(num))(10)
1.1.4 有参数有返回值的函数
print((lambda num: num)(10))
1.2 函数作为参数传递
1.2.1 用在自定义函数中
eg:
def add2num(a, b, opt):
print("a=%d" % a)
print("b=%d" % b)
print("result=%d" % opt(a, b))
add2num(1, 2, lambda x, y: x+y)
1.2.2 用在内置函数中
1. 排序
用在列表类型中
eg:
- 按年龄排序
stus = [{"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 19},
{"name": "wangwu", "age": 17}]
print(stus)
stus.sort(key=lambda x: x['age'])
print(stus)
- 按姓名排序
按姓名首字母排序,规则是按照ASCII
stus = [{"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 19},
{"name": "wangwu", "age": 17}]
print(stus)
# 按名字排序
stus.sort(key=lambda x: x['name'])
print(stus)
更新中......