map, reduce和filter(函数式编程)

Posted lcxiao

tags:

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

# map可以用于对可遍历结构的每个元素执行同样的操作,批量操作:
map(lambda x: x**2, [1, 2, 3, 4])                 # [1, 4, 9, 16]
map(lambda x, y: x + y, [1, 2, 3], [5, 6, 7])     # [6, 8, 10]
  
# 在Python3种输出上述结果
result1=list(map(lambda x: x**2, [1, 2, 3, 4]) )                # [1, 4, 9, 16]
print(result1)
result2(map(lambda x, y: x + y, [1, 2, 3], [5, 6, 7]))     # [6, 8, 10]
print(result2)

# reduce则是对可遍历结构的元素按顺序进行两个输入参数的操作
# 并且每次的结果保存作为下次操作的第一个输入参数,还没有遍历的元素作为第二个输入参数
# 这样的结果就是把一串可遍历的值,减少(reduce)成一个对象
from functools import reduce
res=reduce(lambda x, y: x + y, [1, 2, 3, 4])    # ((1+2)+3)+4=10
print(res)

# filter顾名思义,根据条件对可遍历结构进行筛选
filter(lambda x: x % 2, [1, 2, 3, 4, 5])    # 筛选奇数,[1, 3, 5]

  

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

Python函数式编程 map reduce filter

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

Python 函数式编程(map reduce filter sorted)

Python学习:映射函数(map)和函数式编程工具(filter和reduce)

Python之路Python作用域匿名函数函数式编程map函数filter函数reduce函数

函数式编程 map,reduce,filter,lambda