从Python3开始,reduce函数不再内置,而是放入了functools模块内,可能是因为此函数的应用场景没有别的内置函数那么多吧。reduce函数的功能,是将一个序列中的所有元素,按照顺序进行一个指定的操作,最后得到一个确定的返回值。

reduce这个英文单词的含义是“减少,归纳”等,顾名思义,就是将一个序列“减少到,归纳成”一个数据。

python的reduce函数功能示意

from functools import reduce

# reduce definition

reduce(function, sequence [, initial] ) -> value

使用reduce函数,有一些限制。function参数是一个必须带2个参数的函数,reduce从sequence中取出第1个和第2个元素,计算得到的结果重新作为下一次迭代的第1个参数,与sequence的第3个元素继续进行计算,计算得到的结果再次重新作为下一次迭代的第1个参数......可选的initial作为可选的第1个参数。

先来一段示例代码压压惊:

>>> a = [1,2,3,4,5]

>>> reduce(lambda x,y:x+y, a)

15

>>> reduce(lambda x,y:x+y, a, 10)

25

这段代码就是求列表a所有元素的总和,第二次调用时给了一个初始值,这样计算出来的总和刚好就多了这个初始值大小。

下面这个图,更加清晰的说明了reduce函数的执行过程:

reduce函数的执行过程

这个图没有把初始值画进去。

再给一个操作字符串的例子:

>>> reduce(lambda x,y:x+y+'.', 'abcdefg')

'ab.c.d.e.f.g.'

>>> reduce(lambda x,y:x+y+'.', 'abcdefg', '')

'a.b.c.d.e.f.g.'

在一个字符串中间加点东西,这个例子更清晰的说明了reduce函数初始值的作用。

-- EOF --

python中reduce函数_reduce函数相关推荐

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

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

  2. python中reduce函数的运用_python 中 reduce 函数的使用

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

  3. python函数分几种_简单了解Python中的几种函数

    python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda lambda函数的使用方法:在lam ...

  4. python中的高阶函数

    python中的高阶函数 文章目录: 1 什么是高阶函数? 1.1 高阶函数:一个函数的`函数名`作为参数传给另外一个函数 1.2 高阶函数:一个函数返回值(return)为另外一个`函数` 2 py ...

  5. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  6. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  7. Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略

    Python编程语言学习:python中与数字相关的函数(取整等).案例应用之详细攻略 目录 python中与数字相关的函数 1.对小数进行向上取整 1.1.利用numpy库 1.2.利用math库

  8. Python中字符串常用处理函数

    ** Python中字符串常用处理函数 ** 1.len( )函数 用len( )函数计算字符串的长度 2.strip( )函数 删除字符串两边的空白符(包括:'\n'.'\t'.'\r') 注:只能 ...

  9. 【Python】Python中str()和repr()函数的区别

    作用 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() . 区别与使用 参考文章:Python 中 str() 和 repr() 函数的 ...

  10. python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...

    python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...

最新文章

  1. RTEMS移植USB无线网卡的设想
  2. [LeetCode] 1091. Shortest Path in Binary Matrix
  3. [BUUCTF-pwn]——[BJDCTF 2nd]test
  4. 软件开发工具(第2章:软件开发过程及其组织)
  5. 云原生开发框架dapr环境搭建:CLI安装和初始化
  6. 【APICloud系列|27】 UICalendar模块(日历)的实现
  7. 【Java从入门到头秃专栏 】(二) 注释 数据类型 变量 常量 关键字 标识符 运算符 输入输出
  8. JSON(1)--- 语法
  9. 用python怎么读_python怎么读sql数据?
  10. python矩阵行数_python查看矩阵的行列号以及维数方式
  11. setwindowpos怎么改变z序_【情感问答】||朋友圈子小,沉默寡言嘴不甜,情商低,该怎么脱单?...
  12. 开始Azure之旅,参加深度培训 (转)
  13. POJ3069 Saruman's Army【贪心】
  14. html5中drag//drop拖曳效果的用法
  15. 机器学习深度学习视频资料大汇总
  16. 计算机没有autoCAD_《AutoCAD三维设计环境》
  17. (二)Spring中的ioc
  18. Windows 10 截图工具
  19. 最近邻算法(KNN算法)
  20. Erebus 0.5 发布,2D 实时角色扮演游戏

热门文章

  1. 还在为英语学习发愁吗?身为程序员的你可能需要这样一份“宝典”(上)...
  2. 《丑奴儿书博山道中壁》
  3. 屌丝Cent OS服务器应用之--SVN
  4. 重新发现Oracle太美之root.sh
  5. android 获取设备ID(DeviceID)
  6. matlab画基尼系数,Matlab 对离散数列计算基尼系数(Gini_coef)公式
  7. 鼠标在微信开发工具中消失(而在手机模拟器以外可以显示)
  8. 小程序开发专题-项目设计-毕业设计【建议在校生收藏】
  9. 10以太坊Token详解
  10. 【读书笔记】《洛克菲勒写给儿子的38封信》