lambda
匿名函数: 为了解决一些简单的需求而设计的一句话函数
lambda函数不需要def来声明,一句话就可以声明出一个函数
语法:
函数名 = lambda 参数: 返回值
需要注意的是:
1. 函数的参数可以有多个,多个参数之间用逗号隔开
2. 匿名函数不管多复杂,只能写一行,切逻辑结束后直接返回数据
2.返回值和正常的函数一样,可以是任意数据类型
匿名函数并不是说一定没有名字,这里前面的变量就是一个函数名,说他是匿名 原因是我们通过__name__查看的时候是没有名字的,统一叫lambda,在调用的是时候没有什么特别之处, 像正常的函数调用即可.
sorted()
排序函数
语法: sorted(iterable, key = None, reverse = False)
iterable: 可迭代对象
key:排序规则(排序函数) ,在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数.根据函数运算的结果进行排序
reverse : 是否是倒叙.True:倒叙, False: 正序
和函数的组合使用
和lambda组合使用
filter()
筛选函数:
语法: filter(function. iterable)
function: 用来筛选的函数, 在filter中会自动的吧iterable中的元素传递给function,然后根据function返回True或者False 来判断是否保留此项数据
iterable: 可迭代对象
map()
映射函数:
语法: map(function,iterable)可以对可迭代对象中的每一个元素进行映射,分别取执行function
计算列表中每个元素的平方,返回新列表
改写成lambda
计算两个列表中相同位置的数据的和
递归:
在函数中调用函数本身,就是递归
python机制:递归的最大深度是998
递归的应用:
我们可以使用递归来遍历各种树形结构,比我我们的文件夹系统,可以使用递归来遍历改文件夹中的所有文件
二分查找
二分查找.每次能够排除掉一半的数据,查找的效率非常高,但是局限性比较大,必须是有序序列才可可以使用二分查找
要求: 必须是有序序列