内建的高阶函数:
1、map
map(func,iterables)
参数:func,函数
iterable,序列(可迭代对象)。可以有多个,此时以最短的序列为标准做运算
作用:用iterable中的每一个元素作为参数,调用func
返回值:python2 返回的是一个列表。
python3 返回的是一个迭代器。可以用for循环访问,可以用list()转换成列表,
可以用迭代器的next方法取值
2、filter
filter(func,iterable)
参数:func,函数
iterable,可迭代对象 只有一个
作用:用func对iterable的每一个元素进行筛选,func返回False 丢弃,返回True 保留
返回值:python2 返回的是一个列表
python3返回的是一个迭代器,可以用for循环访问,可以用list()转换成列表,
可以用迭代器的next方法取值
3、sorted
sorted(iterable,key=None,reverse=False)
参数:iterable,可迭代对象
key,是一个函数,只有一个参数,取自iterable,对iterable进行某种处理。
reverse,排序规则 默认升序 。 降序---reverse=True
作用:按照key的处理结果对iterable进行排序
返回值:返回一个排序后的新列表
4、reduce
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里
from functools import reduce
reduce(func,sequence[,initial])
参数:func,函数,有两个参数
sequence,序列
initial,可选,
作用:第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,
否则会以序列sequence中的前两个元素做参数调用function。第二次以后调用,从sequence中按顺序取一个
元素,和上一次调用function的结果做参数再次调用function。
返回值:返回对sequence的处理结果
sequence为空时,返回的是initial,若没有initial,则会报错
原文:https://www.cnblogs.com/longyuu/p/12900188.html