最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python中的map和reduce有什么不同

    正文概述    2020-02-27   273

    python中的map和reduce有什么不同

    从参数方面来讲:

    map()函数:

    map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。

    reduce()函数:

    reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。

    从对传进去的数值作用来讲:

    map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;(请看下面的栗子)

    reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),

    最终结果是所有的元素相互作用的结果。(请看下面的栗子)

    举个栗子:

    map()函数:

    # 传入一个参数
    def one_p(x):
        return x * x
    print 'map1.1:', map(one_p, range(1, 5)) 
    #结果:map1.1: [1, 4, 9, 16]
    print 'map1.2:', map(one_p, [1, 2, 3, 4, 5, 6])
    #结果:map1.2: [1, 4, 9, 16, 25, 36]
     
    # 传入多个参数
    a = [1, 2, 3, 4, 5]
    b = [1, 1, 6, 2, 3]
    c = [1, 2, 3, 4, 5]
    s = map(lambda (x, y, z): x * y * z, zip(a, b, c))
    print 'map2:', s
    #结果:map2: [1, 4, 54, 32, 75]

    reduce函数

    r1 = reduce(lambda x, y: x * y, (2, 2, 6, 2))  #运算过程:(((2*2)*6)*2)
    r2 = reduce(lambda x, y: x * y, (2, 2, 6), 2)  #<span style="font-family: Arial, Helvetica, sans-serif;">
    运算过程:(((2*2)*6)*2)</span>
     
    print 'r1:', r1  # 结果:r1: 48
    print 'r2:', r2  # 结果:r2: 48

    推荐学习《python教程》!


    起源地下载网 » python中的map和reduce有什么不同

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元