Python 高阶函数map(),filter(),reduce()

Posted zhaoshizi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 高阶函数map(),filter(),reduce()相关的知识,希望对你有一定的参考价值。

map()函数,接收两个参数,一个是函数,一个是序列,map()把传入的函数依次作用于序列的每个元素,并把结果作为新的序列返回;

aa = [1, 2, 3, 4, 5]
print("map-result = ", list(map(lambda a: a * a, aa)))
#map-result =  [1, 4, 9, 16, 25]

filter()函数,接收两个参数,一个是函数,一个是序列,filter()把传入的函数依次作用于每个元素,根据返回值是True还是False决定是保留还是丢弃该元素,结果序列是所有返回值为True的子集;

aa = [1, 2, 3, 4, 5]
print("filter-result = ", list(filter(lambda a: a >=3, aa)))
#filter-result =  [3, 4, 5]

reduce()函数,把一个函数作用于一个序列上,这个函数必须接收两个参数,其中reduce()函数把结果继续和序列的下一个元素做累积计算,reduce()函数只返回值结果中,而非序列。在Python3中,reduce()函数移到了functools包中。

from functools import reduce
aa= [1,2,3,4,5]
print("reduce-result = ",reduce(lambda a, b: (a * b),aa))
#reduce-result =  120

以上是关于Python 高阶函数map(),filter(),reduce()的主要内容,如果未能解决你的问题,请参考以下文章

Python 学习笔记 -- 内嵌函数闭包匿名函数高阶函数map高阶函数filter高阶函数reduce

python-高阶函数(map,reduce,filter)

python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

函数式编程 & Python中的高阶函数map reduce filter 和sorted

python高阶函数,map,filter,reduce,ord,以及lambda表达式

Python3之高阶函数filter