python中参数包括其他函数的的函数名为高阶函数,python内建的一些高阶函数可以帮助简化代码的编写
map(function,[list])
(function接收一个参数)map函数接收一个函数和一个list作为参数,将该函数作用于list中的每个元素,返回一个包含所有返回值的iterable对象(迭代器1)
使用map就可以不使用显式循环进行批量操作
reduce(function,[list])
(function接收两个参数)reduce函数接收一个函数和一个list作为参数,从list中顺序取两个对象使用function计算出结果并放回list开头,依次累计计算直到list中只有一个元素,并返回该元素(类似递归中由内层向外层解决问题的过程)
L1 = [1,2,3,4,5] def f(a,b): return a+b reduce(f,L1)的计算过程为 f(f(f(f(1+2),3)4)5)
filter(function,[list])
(function接收一个参数,其返回值应为true或者false)filter可以根据function的规则过滤list中的对象,其将list中的对象传入function,根据返回的true或者false决定是否保留该对象,最后返回一个包含过滤后剩余元素的iterable对象(迭代器)
- 迭代器是一种定义一定规则,在访问时才通过计算产生结果的对象,使用list()函数可以计算出其所有元素并储存在list中返回 ↩