位置: 编程技术 - 正文

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的作用)

  • 删除申报记录什么意思
  • 残疾人就业保障金
  • 非正常损失进项税额转出会计分录
  • 软件 企业
  • 预收账款核销的流程
  • 企业停产或停业期间的费用包括
  • 企业非正常
  • 预交增值税附加税费减免吗
  • 贸易公司买进卖出
  • 应税凭证和纳税凭证的区别
  • 税务局代增值税普通发票流程
  • 清包工开票详细名称
  • 资金清算款项
  • 登记变更是什么意思
  • 企业一次性支付多年费用 不摊销
  • 电脑右下角弹窗广告怎么彻底清除
  • win11耳机插电脑没声音怎么办
  • win11重置系统保留我的文件
  • win10 dev版本
  • 如何防止别人蹭热点
  • 总结linux命令行的主要用法
  • PHP:mb_decode_numericentity()的用法_mbstring函数
  • html 调用扫码
  • rnbrcache.exe是什么意思
  • PHP:zip_read()的用法_Zip函数
  • php traits
  • 员工辞退补偿金需要交个税吗
  • 行政事业单位会计科目一览表
  • vue3框架的优点
  • 小规模纳税人税额怎么算
  • 检测费的税票税率怎么算
  • postman 下载
  • pytorch nn.parameters
  • 预付采购材料款60000元
  • 下列纳税人不得适用核定征收企业所得税的有
  • 主营业务成本和生产成本的区别
  • 已核销的坏账又收回会计分录
  • 安全生产责任险是强制险吗
  • 现金流量表第四个期初现金余额怎么填
  • mysql行锁的作用
  • 数据库my sql
  • 支付劳务费会计科目怎么写
  • 管理费用的相关科目
  • sqlserver2008不存在或拒绝访问怎么办
  • 入库库存商品
  • 公司发行可转债是利好还是利空
  • 接收商业承兑汇票有风险吗
  • 预缴税款如何做账
  • 采购未到票如何入账
  • 什么时候计提增值税发票
  • 企业向福利院捐款属于 公共关系
  • 待抵扣税额怎么做分录
  • 实际利率 会计
  • 计税价格里含税吗
  • 如何设置物资采集系统
  • freebsd使用wifi
  • win2008 r2 hosts文件修改方法
  • xp桌面底部任务栏不见了
  • ubuntu网页打开很慢
  • 怎样让xp系统变得更加流畅
  • xp系统桌面图标大小怎么调整
  • windows xp.
  • 非常好的成语
  • bat批处理删除文件
  • shell脚本用法
  • jquery图片效果
  • python 技巧总结
  • unity移动脚本代码
  • javascript总结笔记
  • Android 4.4 Dialog 被状态栏遮挡的解决方法
  • python查询系统
  • python中函数参数类型
  • android混淆后怎么破解
  • 买药开税票多少税率
  • 陕西办事app
  • 纳税人信用信息
  • 纳税申报表有哪几种类型
  • 所得税与增值税区别
  • 钟楼在西安的哪里
  • 福建地税网上办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设