@ljm
2015-08-22T23:25:34.000000Z
字数 640
阅读 747
python
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
Python内建了map()和reduce()函数。
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
Python内建的filter()函数用于过滤序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。
Python内置的sorted()函数就可以对list进行排序;此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序;要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True。