递归函数
递归:函数自己嵌套调用自己
# 已知: A比B大2岁,B比C大2岁,C比D大2岁,D比E大2岁,E比F大2岁,F年龄为18岁
# 求A的年龄
# 知道第一个人的年龄是18岁
# 后边的人的年龄比前一个人的年龄大2岁
# 后边一个人的年龄 = 前一个人的年龄 + 2
def age(n):
# 递归的出口
if n == 1:
# 第一个人的年龄
return 18
# 递归的公式 递归的调用 自己调用自己 递归的次数
return age(n - 1) + 2
print(age(6))
匿名函数
# 匿名函数
# lambda 参数列表:返回值
# lambda x, y: x + y
# lambda x, y: x if x > y else y
# 无返回值的lambda函数
(lambda: print('hello world'))()
# 有参数的lambda函数
(lambda x, y: print(x + y))(1, 2)
def my_calc(x, y, fn):
print('其他代码函数')
num = fn(x, y)
print(num)
def add(x, y):
return x + y
# 调用
my_calc(1, 2, add)
my_calc(1, 2, lambda x, y: x + y)
my_calc(1, 2, lambda x, y: x - y)
my_calc(1, 2, lambda x, y: x * y)
my_calc(1, 2, lambda x, y: x / y)
列表排序
# 列表排序
list1 = [
{'name': 'Tom', 'age': 20},
{'name': 'Rose', 'age': 18},
{'name': 'Jack', 'age': 22},
{'name': 'Jerry', 'age': 21},
]
# 按照年龄排序
list1.sort(key=lambda x: x['age'])
print(list1)
# 按照名字排序
list1.sort(key=lambda x: x['name'])
print(list1)
列表推导式
# 列表推导式
# 生成一个列表
# 1. 生成一个列表 1-10
list2 = [i for i in range(1, 11)]
print(list2)