简介
高阶函数是一种将函数作为参数,或者把函数作为结果返回的函数。map 、 reduce 、 filter 、 sorted 就是高阶函数的典型例子。
map 函数
map 函数的作用是将一个列表映射到另一个列表。
# map(function, sequence) |
上面的四个函数,根据参数的个数,参数的类型,返回值的个数,返回值的类型来测试map函数。
reduce 函数
reduce 的作用是将一个列表归纳为一个输出。
有三个参数分别是 fucntion 、 sequence 、 startValue 。function 必须是带有两个参数的函数。startValue 可以不设置,初始化值,如果不设置那么初始化运算使用 sequence 的 s[0] 和 s[1] 进行运算,设置则是startValue 和 s[0] 运算,然后依次计算 fucntion(s[1], s[2]) ……
# reduce(function, sequence, startValue) |
filter 函数
filter 函数是过滤掉列表中的一些元素。
这里要注意的是 filter 通过函数的返回的 bool 值来判断是否过滤,最好设置为 true or false。
def function5(x): |
sorted 函数
接收一个 key 函数来实现自定义的排序。
普通排序
# sorted(iterable, key=None, reverse=False) |
绝对值排序
36, 5, -12, 9, -21], key=abs) sorted([ |