高阶函数指的是能接收一个或多个函数作为参数的函数,python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率。
一、map函数
返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。如果传入了额外的 iterable 参数,function 必须接受相同个数的实参并被应用于从所有可迭代对象中并行获取的项。
二、filter函数
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。接收的两个参数中,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到迭代器中。如果 function 是 None ,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除。
在这里插入图片描述
三、sorted函数
- 根据 iterable 中的项返回一个新的已排序列表。
-
具有两个可选参数,它们都必须指定为关键字参数。key:指定带有单个参数的函数,用于从 iterable 的每个元素中提取用于比较的键 (例如 key=str.lower)。默认值为 None (直接比较元素)
reverse:为一个布尔值,如果设为 True,则每个列表元素将按反向顺序比较进行排序
四、reduce函数
reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。返回的是一个计算的最终结果。