位置: 编程技术 - 正文

Python reduce()函数的用法小结(pythonreduce函数的作用)

编辑:rootadmin

推荐整理分享Python reduce()函数的用法小结(pythonreduce函数的作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python reducebykey,pythonreduce函数,python中reduce()函数的用法,python3 reduce函数,pythonreduce函数,pythonreduce函数的作用,pythonreduce函数的用法,pythonreduce函数的用法,内容如对您有帮助,希望把文章链接给更多的朋友!

reduce()函数也是Python内置的一个高阶函数。

reduce()

格式:

reduce (func, seq[, init()])

reduce()函数即为化简函数,它的执行过程为:每一次迭代,都将上一次的迭代结果(注:第一次为init元素,如果没有指定init则为seq的第一个元素)与下一个元素一同传入二元func函数中去执行。在reduce()函数中,init是可选的,如果指定,则作为第一次迭代的第一个元素使用,如果没有指定,就取seq中的第一个元素。 reduce()函数的执行过程如下图所示:

从reduce函数的执行过程,让我们很容易联想到求一个数的阶乘,而Python中并没有给出一个求阶乘的内置函数,正好我们就拿这个例子来说明reduce函数吧。

上面的例子中range(1,6)函数生成的是一个[1, 2, 3, 4, 5]这样的列表,这里我们给它个名叫seq1吧,reduce()函数执行时,由于没有指定init参数,所以将取seq1中的第一个元素1,作为第一个元素,由于前面的lambda有2个变量,所以需要两个实参,于是就取seq1中的第2个元素2,与第一个元素1一起传入lambda中去执行,并将返回结果2,并同下一个元素3再一起传入lambda中执行,再次返回的结果,作为下一次执行的第一个元素,依次类推,就得出结果5! = 。 如果我们希望得到阶乘的结果再多增加几倍,可以启用init这个可选项。如:

这个时候,就会将init作为第一个元素,和seq1中的第一个元素1一起传入lambda函数中去执行,返回结果再作为下一次的第一个元素。

Python reduce()函数的用法小结(pythonreduce函数的作用)

下面给出的例子更简单一些,大家可以看下

reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

例如,编写一个f函数,接收x和y,返回x和y的和:

调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

先计算头两个元素:f(1, 3),结果为4;再把结果和第3个元素计算:f(4, 5),结果为9;再把结果和第4个元素计算:f(9, 7),结果为;再把结果和第5个元素计算:f(, 9),结果为;由于没有更多的元素了,计算结束,返回结果。

上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。

reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为,计算:

reduce(f, [1, 3, 5, 7, 9], )

结果将变为,因为第一轮计算是:

计算初始值和第一个元素:f(, 1),结果为。

python中lambda()的用法 在C++和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。1.lambda只是一个表达式,函数体比def简单很多。2.lambda的主体是一个表达式,而不

详解Python map函数及Python map()函数的用法 pythonmap函数map()函数map()是Python内置的高阶函数,它接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。例

python使用fork实现守护进程的方法 os模块中的fork方法可以创建一个子进程。相当于克隆了父进程os.fork()子进程运行时,os.fork方法会返回0;而父进程运行时,os.fork方法会返回子进程的PID

标签: pythonreduce函数的作用

本文链接地址:https://www.jiuchutong.com/biancheng/372264.html 转载请保留说明!

上一篇:python下10个简单实例代码(python%i)

下一篇:python中lambda()的用法(Python中lambda的作用)

  • 暂时进出境货物和暂准进出境货物
  • 个体户核定征收需要做账吗
  • 经营成本是营业成本还是营业总成本
  • 发生额对照表
  • 企业所得税预缴少申报案例
  • 到国税局领增值税发票需带什么
  • 开票金额为什么会多出一分钱
  • 分步法和分批法思维导图
  • 应收分保合同准备材料
  • 预收物业费如何填报申报表
  • 工会经费支出无效怎么办
  • 中标服务费可以抵扣进项税吗
  • 进项税额不可抵扣
  • 现金出资可以吗
  • 报销发票只准报一部分怎么做账?
  • 企业如果亏损应该计提缴纳所得税吗
  • 高新技术企业研发费
  • 企业可以申请停缴社保吗
  • 新企业残保金免交三年超过30人
  • 社保稳岗补贴可以申请几次
  • 无形资产管理的基本流程包括无形资产的
  • 房地产行业规定
  • 人均营收指标
  • 销售技巧培训课程
  • 降低增值税税率对消费者的影响有哪些
  • 享受小型微利企业税收优惠的条件
  • 自购自销金银首饰应纳消费税如何处理?
  • 跨年的工会经费怎么做分录
  • Mac怎么用有线网络
  • 进入英雄联盟显示超频怎么办
  • 上月库存占比怎么算
  • php测验
  • 如何使用腾讯电子签
  • php几天可以速成
  • 以产品对外投资需要进项税额转出吗
  • 鸿蒙系统如何自定义图标
  • 出国的事情
  • kprcycleaner.exe是什么
  • 求源代码
  • Yii2使用swiftmailer发送邮件的方法
  • day01-GUI坦克大战01
  • 未核定月数是什么
  • 股东之间股权转让需要股东会决议吗
  • 没开票的工程可以结转成本吗
  • 物业管理费开票类目
  • 企业需要交哪些税种?分别怎么交
  • 织梦常用调用标签
  • 工厂杂工工资
  • 不得开具增值税专用发票是什么意思
  • 承兑汇票贴现的利率
  • 企业主营业务收入净额怎么算
  • 有形动产租赁服务的增值税税率
  • 工程奖金计入什么科目
  • 三方协议代付的钱在哪里
  • 软件开发并销售产品
  • 事业单位劳务派遣是啥意思
  • 未开票收入账务处理分录
  • 专利权转让的条件
  • 生产销售库存表
  • 银行记账本怎么填写
  • win8老是弹出广告
  • windows xp 注册表故障恢复
  • 如何设置windows
  • windows10 rs2
  • sxs.exe病毒
  • 为避免10月20号后盗版系统出现黑屏的bat文件
  • 微软推送win11
  • win7开机屏幕狂闪不停怎么解决
  • win7电脑操作日志怎么查看
  • linux命令行在哪
  • java timer
  • js经典实例
  • python模板引擎开发
  • unitysdk接入
  • js闭包作用问题解决应用
  • 怎样学好js中的逻辑
  • 福建地税办税人变更流程
  • 增值税即征即退申报表怎么填
  • 税务迁出需要哪些手续2020年
  • 劳务分包需要交什么税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设