Python 中的lamdba和filter、map、reduce

Python 中的lamdba和filter、map、reduce
一、Lamdba是一个表达式,通常作为匿名函数来使用,在不允许使用def的地方,他的通常表达形式为 lamdba x,y,z:x+y+z,冒号前为参数,冒号后为表达式,运算结果为返回表达式的值
Python 中的lamdba和filter、map、reduce

二、filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型),function(item)应返回布尔值,通常为判断式。
filter(function or None, sequence) -> list, tuple, or string:入参为函数和列表/元组/字符串,返回值为item列表/元组/字符串。
Python 中的lamdba和filter、map、reduce

Python 中的lamdba和filter、map、reduce

Python 中的lamdba和filter、map、reduce

三、map(function, sequence) :对sequence中的item依次执行function(item),将执行结果function(item)组成一个List返回。
map(function, sequence[, sequence, …]) -> list:入参是为函数和列表/元组/字符串,返回值为function(item)列表。
Python 中的lamdba和filter、map、reduce

四、reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用。function接收的参数个数只能为2,先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给function,然后只返回一个结果。
reduce(function, sequence[, initial]) -> value:入参是为函数和列表/元组/字符串和初始值,返回值为数值。
Python3 将reduce个函数从全局命名空间中移除,使用时需要单独引入
Python 中的lamdba和filter、map、reduce