在python3中如果使用reduce需要先导入

from functools import reduce

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

reduce函数的定义:

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

function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。

第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

举例说明上面这段话的意思.比如有列表lst=[1,2,3,4],我们希望得到列表每个元素之和,代码如下:

from functools import reduce
lst=[1,2,3,4]
print(reduce(lambda x,y: x+y, lst))

那如果我们希望是序列的乘积呢,接下来我们在看下代码,下面代码的意思就是列表每个元素相乘的结果

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from functools import reduce
lst=[1,2,3,4]
print(reduce(lambda x,y: x*y, lst))# 结果24

下面来个稍微复杂点的,注意看lambda函数的变化,

from functools import reduce
lst=[1,2,3,4]
print(reduce(lambda x,y: x*y+1, lst))
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#计算过程如下:
# 这个式子只有两个参数,没有初始化值,那么就取列表前2项,通过lambda函数计算结果
#1*2+1=3,
#上面计算的结果在与列表第三个元素通过lambda函数计算
# 3*3+1=10
#上面计算的结果在与列表第四个元素通过lambda函数计算
# 10*4+1=41

接下来都是以此类推,可以自己增加几个元素演示,或者换下lamda函数计算,验证结果.

再说说有初始化值的情况, 这个时候就不是取列表的前两项, 而是取初始值为第一个,序列的第一个元素为第二个元素,开始进行lambda函数的应用计算.

说的有点混乱,看代码吧!

from functools import reduce
lst=[1,2,3,4]
print(reduce(lambda x,y: x+y, lst,5))# 5是初始值,也可以理解为第三个参数
# 计算呢过程
-->5+1=6
-->6+2=8
-->8+3=11
-->11+4=15

python3中reduce函数的使用相关推荐

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

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

  2. python3中zip函数_用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  3. Python3中print函数的换行

    Python3中print函数的换行 最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来 ...

  4. python3打印如何换行_浅谈Python3中print函数的换行

    Python3中print函数的换行 最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来 ...

  5. python3中map函数_python3中map()和reduce()函数

    Python内建了map()和reduce()函数. 现在,我们用Python代码实现: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, ...

  6. reduce python3_python3中reduce函数的使用

    在python3中如果使用reduce需要先导入 from functools import reduce reduce函数,reduce函数会对参数序列中元素进行累积. reduce函数的定义: r ...

  7. python中reduce函数的运用_Python reduce函数

    Python reduce函数教程 在 Python2 中,reduce 函数可以直接使用,在 Python3 中,reduce 函数使用之前需要使用 from functools import re ...

  8. python3中map函数_解决Python3下map函数的显示问题

    map函数是Python里面比较重要的函数,设计灵感来自于函数式编程.Python官方文档中是这样解释map函数的: map(function, iterable, ...) Return an it ...

  9. python中集合所用的reduce_Python中reduce函数和lambda表达式的学习

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

最新文章

  1. Python 使用readability 提取网页标题
  2. 重复制造和离散制造特点
  3. python二值化 感兴趣区域_Python+OpenCV感兴趣区域ROI提取方法
  4. OpenCV3学习(2.3)——图像读取与鼠标截图
  5. 2017.10.24 上升序列 思考记录
  6. Intel 64/x86_64/IA-32/x86处理器 - 锁原子操作(1) - 处理器保证的原子操作
  7. mysql查出倒序第一条数据_[数据库]mysql 记录根据日期字段倒序输出
  8. 图像算法七:【形态学图像处理】二值运算、膨胀、腐蚀
  9. 解决IDEA导入项目后无法运行的问题
  10. Unity给力插件之ShaderForge
  11. UML建模和开发预演
  12. 揭秘 | 2021年移动云API大赛决赛大奖花落谁家?
  13. Qcon 演讲纪实:详解如何在实时视频通话中实现AR功能
  14. H5静态网页设计与制作_川西旅游网设计作品(HTML+CSS+jQuery)
  15. DIY成本35的自制蓝牙音响
  16. nodebb部署心路历程【加上踩坑合集】
  17. 【数据分析】分析方法 | 业务知识 | 行业分析
  18. 市面上微型计算机的主频,目前市面上最大屏幕的手机,你知道是哪款吗?
  19. 想靠“免费”搅局智能家居,小度添添智能健身镜凭什么?
  20. 安猪瀚的一家之言:多读书,多看报,少吃零食,多睡觉

热门文章

  1. Delphi6 提示 Class TMSComm not found
  2. Cocos2d-X内存管理研究一
  3. 为什么说中国式报表特殊-3、报表格式
  4. 解决TreeView中使用JavaScript完成CheckBox全选的办法
  5. 【MM配置】Pricing 采购定价 1
  6. 【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
  7. 采购订单中的容差项目解释
  8. 给销售范围组合分配定价过程
  9. 几家OA厂商介绍及产品特点总结
  10. 关于SAP的预留问题