python基础.内置函数(二),递归函数,二分法
一. lamda匿名函数为了解决 一些简单的需求 而设计一句话函数
lambda表示的是匿名函数. 不需要用def来声明, 一句话就可以声明出 一个函数
语法:
函数名 = lambda 参数: 返回值
注意:
- 函数的参数可以有多个. 多个参数之间 用逗号隔开
- 匿名函数不管多复杂. 只能写一 行, 且逻辑结束后直接返回数据
- 返回值和正常的函数一样, 可以是任意数据类型
匿名函数并不是说 一定没有名字. 这里前面的变量就是 一个函数名. 说他是匿名原因是我们通过__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
计算两个列表中相同位置的数据的和
五. 递归在函数中调用函数本身,就是递归
递归的应用:
我们可以使用递归来遍历各种树形结构, 比如我们的文件夹系统. 可以使用递归来遍历该文件夹中的所有文件
六. 二分查找
二分查找. 每次能够排除掉 一半的数据. 查找的效率非 高. 但是局限性比较大. 必须是有序序列才可以使用 二分查找
要求: 查找的序列必须是有序列.