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