美文网首页
Python3高阶函数之map和reduce

Python3高阶函数之map和reduce

作者: Boer223 | 来源:发表于2019-02-01 19:13 被阅读0次

    由于之前已经学习过Perl,故在最近学习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]
    

    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
    

    相关文章

      网友评论

          本文标题:Python3高阶函数之map和reduce

          本文链接:https://www.haomeiwen.com/subject/cmbdsqtx.html