Python中的reduce
   python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。
如:
    def myadd(x,y):  
        return x+y  
    sum=reduce(myadd,(1,2,3,4,5,6,7))  
    print sum

#结果就是输出1+2+3+4+5+6+7的结果即28
当然,也可以用lambda的方法,更为简单:
    sum=reduce(lambda x,y:x+y,(1,2,3,4,5,6,7))  
    print sum

在python 3.0.0.0以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce.

意思就是对sequence连续使用function, 如果不给出initial, 则第一次调用传递sequence的两个元素, 以后把前一次调用的结果和sequence的下一个元素传递给function. 如果给出initial, 则第一次传递initial和sequence的第一个元素给function.

1
2
3
4
5
6
7
from functools import reduce 
reduce(lambda x,y: x+y, [1, 2, 3]) 
输出 6 
reduce(lambda x, y: x+y, [1,2,3], 9
输出 15 
reduce(lambda x,y: x+y, [1, 2, 3], 7
输出 13 

Python中的reduce相关推荐

  1. python中的reduce、lambda函数

    Python中的reduce    python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须 ...

  2. python中filter(),reduce()函数

    filter()函数 是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 和一个list,这个函数的作用是对每个元素进行判断,返回 True或 False,filter() ...

  3. python中的reduce() 函数

    在 Python3 中,reduce() 函数已经被从全局命名空间里移除了,它现在被放置在 functools 模块里,需要通过引入 functools 模块来调用 reduce() 函数: from ...

  4. 在Python中使用Reduce函数

    欢迎关注 "小白玩转Python",发现更多 "有趣" 引言 Python 是一种面向对象程序设计语言.但是,它提供了一些提供函数式编程风格的工具.其中一些工具 ...

  5. python中的reduce函数

    1.语法: 在python3中,内置函数中已经没有reduce了.要使用reduce,需要从functools模块里引入 2.作用 对序列中的元素进行累积 3.返回值 返回函数的计算结果 4.例子 f ...

  6. Python中的reduce()函数----可求积求和

    reduce()函数:是Python内置的一个高阶函数.reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收 ...

  7. python中的reduce函数用法

    2020-09-15 导入相应的函数 from functools import reduce reduce() 函数会对参数序列中的元素进行相同的操作. 函数将一个数据集合(链表,元组等)中的所有数 ...

  8. 使用Python中的reduce()函数求积

    编写一个prod()函数,可以接受一个list并利用reduce()求积. from functools import reduce def prod(x,y):return x * y L = re ...

  9. [转载] Python 中reduce()与lambda函数详解

    参考链接: Python中的reduce a = [2,22,222] Sn = reduce(lambda x,y:x+y,a) print "计算和为:",Sn reduce( ...

最新文章

  1. ORA-01109:数据库未打开(解决)
  2. Pycharm 和 vscode 多光标、折叠代码和代码格式化快捷键
  3. vi常用命令与设置(不断修改中)
  4. ruby 集合 分组_将Ruby中两个集合的所有元素结合在一起
  5. webpack系列-plugin
  6. transient关键字和volatile关键字
  7. python沿中心线绘制矩形_间隙填充轮廓/线 - python
  8. 估值指标方法20190805
  9. linux是一个工程而不是理论
  10. AcWing提高算法课Level-3 第四章 高级数据结构
  11. Spring Security三种认证
  12. endnote 参考文献加序号_EndNote同一文章的插入不同编号参考文献的方法 | 科研动力...
  13. 笔记7:winfrom的一些知识点(一)
  14. LLVM与Clang的概述及关系
  15. 嵌入式面试常见问题(六)—各大公司面试题
  16. 论车牌识别与电子警察关系
  17. 浅谈clientX、offsetX、screenX、pageX
  18. Unexpected Exception caught setting '' on 'class com.: Error setting expression '' with value ['', ]
  19. Vlan 单线复用之复式二层住宅网络改造实操案例(一)
  20. 免费的视频转换器有哪些?推荐3款好用免费视频格式转换软件

热门文章

  1. java怎么创建二进制文件_Java:如何编写二进制文件?
  2. OpenStack neutron中AsyncProcess类
  3. linux启动程序api编程,Linux编程中关于API函数与系统调用间关系
  4. 计算机科学环境保护,CMU-如何利用计算机科学、机器学习和人工智能保护环境.pdf...
  5. android数据库降级_android——数据库版本升/降级问题
  6. linux的内核设计,Linux内核设计艺术(经典).pdf
  7. catia圆柱转化为圆台_浅析actran气动噪声仿真技术,以圆柱绕流气动噪声仿真为例...
  8. Redis 是并发安全的吗?你确定?
  9. MySQL 优化上来就分库分表?面试官:根本不懂底层原理!
  10. 赠书:“替代Linux”?!全球技术海啸来临!