python中map,filter和reduce函数参数都必须是一个函数与一个参数。
不同的是:
map执行时一般对参数或者列表中每个元素执行一次函数,返回对各个参数执行函数后构成的列表。
map(function, sequence[, sequence, ...]) -> list
filter是对输入的列表的参数进行过滤,一般输入的函数是谓词函数,返回布尔值,为1,列表的参数会返回,为0,则不会返回。最终返回一个布尔值为1的参数构成的集合。
filter(function or None, sequence) -> list, tuple, or string
reduce会对参数列表的元素进行累加,输入的函数一般要求两个参数值,如果没有输入initial参数,则对列表前两个元素作为初始参数调用函数,返回值作为下次调用的输入参数与第三个元素在进行运算,以此类推。
reduce(function, sequence[, initial]) -> value