zoukankan      html  css  js  c++  java
  • reduce()函数

    在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里
    用的话要 先引入
    from functools import reduce

    functools.reduce(function, iterable[, initializer])

    functools - Higher-order functions and operations on callable objects
    https://docs.python.org/3/library/functools.html

    functools - 高阶函数和可调用对象上的操作
    https://docs.python.org/zh-cn/3/library/functools.html

    Apply function of two arguments cumulatively to the items of sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). The left argument, x, is the accumulated value and the right argument, y, is the update value from the sequence. If the optional initializer is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. If initializer is not given and sequence contains only one item, the first item is returned.
    将两个参数的函数累加到序列项中,从左到右,以便将序列减少为单个值。例如,reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 计算 ((((1+2)+3)+4)+5)。左参数 x 是累加值,右参数 y 是序列的更新值。如果存在可选的初始值设定项,则它将位于计算中序列的项之前,并在序列为空时用作默认值。如果未给出初始化程序且序列仅包含一个项目,则返回第一个项目。

    reduce() 函数会对参数序列中元素进行累积。

    函数将一个数据集合 (链表,元组等) 中的所有数据进行下列操作:用传给 reduce 中的函数 function (有两个参数) 先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    function - 函数,有两个参数 (接收两个值作为输入,执行计算,然后返回一个值作为输出。)
    iterable - 可迭代对象
    initializer - 可选,初始参数

    Roughly equivalent to:
    大致相当于:

    参考:https://blog.csdn.net/chengyq116/article/details/99326733

     

     

     

    import numpy as np
    from functools import reduce
    #from functools import
    def prod(x, y):
        return x*y
    print(reduce(prod, [2, 4, 5, 7, 12]))
    
    输出3360
    

     

     

      

  • 相关阅读:
    【翻译】Ext JS最新技巧——2014-9-10
    Ext JS 5的声明式事件监听
    SpringBoot启动方式讲解和部署war项目到tomcat9
    异常处理
    SpringBoot2.x个性化启动banner设置和debug日志
    实用博客
    SpringBootTest单元测试实战、SpringBoot测试进阶高级篇之MockMvc讲解
    SpringBoot注解把配置文件自动映射到属性和实体类实战
    SpringBoot2.x配置文件讲解
    SpringBoot2.x使用Dev-tool热部署
  • 原文地址:https://www.cnblogs.com/Li-JT/p/15060987.html
Copyright © 2011-2022 走看看