Python3中,map()函数、filter()函数、reduce()函数的比较

1.map(function,iterable):function为函数,或者lambda表达式,iterable是可迭代的序列,即对iterable中的每个item执行一遍function或者lambda表达式,返回一个map类型;

ls = [1,2,3,4,5]
result = map(lambda x : x**2 ,ls) 
print(type(result))
print(result)
print(list(result))
 
#输出 <class 'map'>
#输出 <map object at 0x000001DFFA442470>
#输出 [1,4,9,16,25]

  

2.filter(function,iterable):‘筛选函数’,filter()把传人的函数依次作用于序列的每个元素,然后根据返回值是True还是false决定保留还是丢弃该元素,返回符合条件的序列

def func(x):
    return x % 2 == 0
req = filter(func,range(10))
print(req)

#输出 [2,4,6,8]

3.reduce(function,iterable):对于序列内所有元素进行累计操作,即是序列中后面的元素与前面的元素做累积计算(结果是所有元素共同作用的结果)

1 def square(x,y):
2      return x*y
3 result = reduce(square,range(1,5))
4 print(result)
#输出 24

posted @ 2019-08-12 14:07  咚咚呱  阅读(210)  评论(0编辑  收藏  举报