递归函数

递归:函数自己嵌套调用自己


# 已知: 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)

results matching ""

    No results matching ""