文章转于:https://blog.csdn.net/goupper1991/article/details/49803355

原文博主:https://blog.csdn.net/goupper1991(小二百)

一)reduce()的用法:把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算

#注意:累积计算而不是加法运算,而是序列中后面的元素与前面的元素做累积计算(结果是所有元素共同作用的结果)

def func(x,y):

return x*y

print 'reduce1:',reduce(func,range(1,10))

print 'reduce2:',reduce(func,[1,2,3])

# print sum(range(1,101))#python内置sum()函数求和

二)map()接收两个参数,一个是函数,一个是序列,map将传人的函数依次作用到序列的每个元素,并把结果作为新的list返回。(结果是各有各的结果)

1)map()中的函数传人两个参数

def f(x,y,z,k):

return x*y+z+k

print 'map1:',map(f,range(1,10),range(2,11),range(1,10),[1,2,3,4,5,6,7,8,9])

print 'map2:',map(f,[1,2,3,4],[1,72,35,4],[1,2,3,4],[1,72,35,4])

2)map()中的函数传人一个参数

def f(x):

return x*x

print 'map11:',map(f,range(1,10))

print 'map22:',map(f,[1,2,3,4])

三)filter()是‘筛选函数’,也接收一个函数和一个序列,filter()把传人的函数依次作用于序列的每个元素,然后根据返回值是True还是false决定保留还是丢弃该元素

def fr(x):

return x%2==1

print 'filter1:',filter(fr,range(1,51))#筛选出100以内的所有奇数

print 'filter2:',filter(fr,[1,2,3,4])

上面代码运行结果:

reduce1: 362880
reduce2: 6
map1: [4, 10, 18, 28, 40, 54, 70, 88, 108]
map2: [3, 218, 143, 24]
map11: [1, 4, 9, 16, 25, 36, 49, 64, 81]
map22: [1, 4, 9, 16]
filter1: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]
filter2: [1, 3]

map()和reduce()的区别:

1)map()中的函数(是指map()两个参数中的函数中的参数,而不是map()的参数)可以传人一个或者多个参数,reduce()中的函数必须接收两个参数

2)map()是将传人的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次,reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),最终结果是所有的元素相互作用的结果。

Python:map()、reduce()、filter()的区别的更多相关文章

  1. Python map/reduce/filter/sorted函数以及匿名函数

    1. map() 函数的功能: map(f, [x1,x2,x3]) = [f(x1), f(x2), f(x3)] def f(x): return x*x a = map(f, [1, 2, 3, ...

  2. python map, reduce,filter 使用

    参考python built-on function: http://docs.python.org/2.7/library/functions.html?highlight=map%20reduce ...

  3. python3高阶函数:map(),reduce(),filter()的区别

    转载请注明出处:https://www.cnblogs.com/shapeL/p/9057152.html 1.map():遍历序列,对序列中每个元素进行操作,最终获取新的序列 print(list( ...

  4. Python map,reduce,filter,apply

    map(function, iterable, ...) map()函数接收两个参数,一个是函数,一个是可迭代的对象,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 基本等 ...

  5. [python基础知识]python内置函数map/reduce/filter

    python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...

  6. Demo of Python "Map Reduce Filter"

    Here I share with you a demo for python map, reduce and filter functional programming thatowned by m ...

  7. Python学习:函数式编程(lambda, map() ,reduce() ,filter())

    1. lambda: Python 支持用lambda对简单的功能定义“行内函数” 2.map() : 3.reduce() : 4.filter() : map() ,reduce() , filt ...

  8. python 函数式编程之lambda( ), map( ), reduce( ), filter( )

    lambda( ), map( ), reduce( ), filter( ) 1. lambda( )主要用于“行内函数”: f = lambda x : x + 2 #定义函数f(x)=x+2 g ...

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

    1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...

  10. map/reduce/filter/lambda

    Python内建了map()/reduce()/filter()函数. map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的It ...

随机推荐

  1. Symfony 安装FOUSerBundle

    第一按照官网安装 : https://symfony.com/doc/current/bundles/FOSUserBundle/index.html#main 可能版本无法安装 : $ compos ...

  2. tf.InteractiveSession()与tf.Session()

    tf.InteractiveSession():它能让你在运行图的时候,插入一些计算图,这些计算图是由某些操作(operations)构成的.这对于工作在交互式环境中的人们来说非常便利,比如使用IPy ...

  3. 自编码器(autoencoder)

    今天我们会来聊聊用神经网络如何进行非监督形式的学习. 也就是 autoencoder, 自编码. 压缩与解压 有一个神经网络, 它在做的事情是 接收一张图片, 然后 给它打码, 最后 再从打码后的图片 ...

  4. 小程序getApp() 被删除坑

    在一个非page的js文件内使用getApp,当前台切到后台的时候,定义的var app = getApp()被删除了 如:新建一个app-libs.js start: function() { va ...

  5. rails member collection

    resources :theses do resources :document do get :download, :on => :member end end <a class=&qu ...

  6. DEV开发之界面皮肤

    最终效果:正文本人的环境是 VS2013+DEV 13.21.第一步,新建项目,(忽略)???2.修改Form1.cs的基类,Form修改为DevExpress.XtraBars.Ribbon.Rib ...

  7. [原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. STL头文件有哪些及简单介绍

    #include <iostream>标准输入输出cin cout等 #include <algorithm> 算法库 如sort find等 #include <vec ...

  9. Spring- 通过Xml的方式完成Bean的实例化

    传统应用程序可以通过反射方式进行实例化Bean,而Spring Ioc 容器则需要根据Bean定义的配置元数据使用反射机制来创建Bean.在Spring Ioc 容器中主要有以下几种创建Bean实例的 ...

  10. redis实现session共享,哨兵

    一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...