美文网首页
Python的高阶函数reduce

Python的高阶函数reduce

作者: 暖遇 | 来源:发表于2018-09-09 18:39 被阅读0次

    reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块。
    引入reduce函数:from functools import reduce

    reduce 有 三个参数
    function 有两个参数的函数, 必需参数
    sequence tuple ,list ,dictionary, string等可迭代物,必需参数
    initial 初始值, 可选参数

    reduce的工作过程是 :在迭代sequence(tuple ,list ,dictionary, string等可迭代物)的过程中,首先把 前两个元素传给 函数参数,函数加工后,然后把得到的结果和第三个元素作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素作为两个参数传给函数参数,依次类推。 如果传入了 initial 值, 那么首先传的就不是 sequence 的第一个和第二个元素,而是 initial值和 第一个元素。经过这样的累计计算之后合并序列到一个单一返回值
    直接放代码可以看:

    def add(x, y):
    ... return x+y
    ...
    from functools import reduce
    reduce(add, [1,2,3,4])
    10

    还可以把一个整数列表拼成整数,如下:

    from functools import reduce
    reduce(lambda x, y: x * 10 + y, [1 , 2, 3, 4, 5])
    12345

    相关文章

      网友评论

          本文标题:Python的高阶函数reduce

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