美文网首页
reduce函数

reduce函数

作者: SagaraMisae | 来源:发表于2017-07-08 21:32 被阅读0次

    引用自:Crossin的编程教室

    Python3 里,reduce已经被移出内置函数,使用 reduce 需要先通过 from functools import reduce 引入。

    reduce 做的事情就是把一个序列根据某种规则,归纳为一个输出。


    求1累加到100的和。寻常的做法大概是这样:

    sum = 0

    for i in xrange(1, 101):

    sum += i

    print sum

    如果用 reduce 函数,就可以写成:

    lst = xrange(1, 101)

    def add(x, y):

    return x + y

    print reduce(add, lst)


    reduce(function, iterable[, initializer])

    第一个参数是作用在序列上的方法,第二个参数是被作用的序列,这与 map 一致。另外有一个可选参数,是初始值。

    function 需要是一个接收2个参数,并有返回值的函数。它会从序列 iterable 里从左到右依次取出元素,进行计算。每次计算的结果,会作为下次计算的第一个参数。

    提供初始值 initializer 时,它会作为第一次计算的第一个参数。否则,就先计算序列中的前两个值。


    同样,可以用 lambda 函数:

    reduce((lambda x, y: x + y), xrange(1, 101))

    相关文章

      网友评论

          本文标题:reduce函数

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