zoukankan      html  css  js  c++  java
  • 【转】python3中内建函数map与reduce简单介绍

    map()的使用

       map()的使用方法形如map(f(x),Itera).对,它有两个参数,第一个参数为某个函数,第二个为可迭代对象。如果不懂什么是函数,不懂什么是可迭代对象没关系,记住下面的例子就可以了:

      

    1 >>> def g(x):
    2     return 3 * x
    3 
    4 >>> l=map(g,[1,3,4,5,7,10])
    5 >>> list(l)
    6 [3, 9, 12, 15, 21, 30]

           定义的g(x)就是作为map()第一个参数,它的作用是取参数X的三倍。

           [1,3,4,5,7,10]列表作为g(x)的第二个参数,它是一个列表。没错,列表是一个可迭代对象,当然可迭代对象不仅仅有列表,其他的可以慢慢学习。调用map函数后,g(x)将会作用到列表的每个元素,我们来看看作用后的效果:

    >>> list(l) 
    [3, 9, 12, 15, 21, 30]


    reduce()的使用
      reduce()的使用方法形如reduce(f(x),Itera).对,它的形式和map()函数一样。不过参数f(x)必须有两个参数。reduce()函数作用是:把结果继续和序列的下一个元素做累积计算。
    >>> from functools import reduce
    >>> def add(x,y): #定义一个相加函数
            return x+y
    
    >>> reduce(add,[1,2,3,4,6])
    16

    add(x,y)是我们定义的一个函数,将add函数和[1,2,3,4,6]列表传入reduce函数,就相当于1+2+3+4+6 =16。即把结果继续和序列的下一个元素做累加。

    我们再来举一实例来说明:

    >>> def fun(x,y):#定义一个函数
            return 10*x+y
    
    >>> reduce(fun,[2,5,6])
    256

    定义的函数fun作用是将x,y转化成一个整数xy。于是作用于reduce就会将列表[x1,x2,x3,x4,x5]转化成整数x1x2x3x4x5。

    这就是reduce()的作用。

    以上就是内建函数map()和reduce()的简单用法。

  • 相关阅读:
    C++ string char[] 转化
    c++ 转化
    2014/4/16
    2014/4/11
    垂直电商现倒闭潮
    经典K线组合图解 > 正文
    上下影线
    分​析​主​力​试​盘​手​法
    nginx重新编译不停服
    nexus
  • 原文地址:https://www.cnblogs.com/hxiaoli/p/8393384.html
Copyright © 2011-2022 走看看