递归和Lambda表达式

一、递归

2.1 应用场景

  • 是一种编程思想,应用场景如下
  • 查看/修改/删除文件夹下的文件
  • 算法
2.1.1
  • 函数内部自己调用子级
  • 必须要有出口

二、Lambda

3.1 lambda的使用场景

  • 如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简版

3.2 lambda的语法

  • lambda 参数列表: 表达式
  • lambda表达式的参数可有可无,函数的参数在lambda表达式红完全适用
  • lambda表达式能接受任何数量的参数但只能返回一个表达式的值

3.4 lambda的参数形式

3.4.1 无参数
print((lambda: 100)())
3.4.2 一个参数
f1 = lambda a: a

3.4.3 默认参数
f1 = lambda a, b="python": a + " " + b
3.4.4 可变参数:*args
print((lambda *args: args)(10, 20, 30))
# 注意:这里的可变参数传入到lambda之后,返回值为元组
3.4.5 可变参数:**kwargs
print((lambda **kwargs: kwargs)(name="python", age=20))
3.4.6 列表数据按字典key的值排序
students = [{"name": "tom", "age": 18, "gender": "男"}, {"name": "jack", "age": 20, "gender": "女"}]
# 正序排序
students.sort(key=lambda key: key["name])
print(students)
# 倒序排序
students.sort(key=lambda key: key["name], reverse=True)
print(students)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值