Python reduce()函数的用法详解
发布日期:2021-11-15 14:58:09
浏览次数:37
分类:技术文章
本文共 879 字,大约阅读时间需要 2 分钟。
今天刷题时又见识到了大佬精简的代码,所以特地学习了一下reduce的用法,在此记录。
reduce的语法格式
reduce(function, sequence[, initial]) -> value
reduce函数接受一个function和一串sequence,并返回单一的值,以如下方式计算: 1.初始,function被调用,并传入sequence的前两个items,计算得到result并返回 2.function继续被调用,并传入上一步中的result,和sequence种下一个item,计算得到result并返回。一直重复这个操作,直到sequence都被遍历完,返回最终结果。注意1. 当initial值被指定时,传入step1中的两个参数分别是initial值和sequence的第一个items。reduce()最多只能接受三个参数,func,sequence,initial。
注意2. 在python2中reduce时内置函数,但是在python3中,它被移到functools模块,因此使用之前需要导入,如>>> from functools import reduce >>>a=[1, 2, 2, 1, 3, 3, 4, 1]>>> reduce(lambda x,y:x+y ,a) #实现加法功能17>>>reduce(lambda x,y:x+y ,a,2)#指定initial值19
那么如果一开始sequence只有一个元素,并且没有设定initial,会不会报错呢?
>>> reduce(lambda x,y:x+y ,[2])2>>> reduce(lambda x,y:x*y ,[2])2'''可以发现并没有报错,但也不能判断是传入了具体什么值第一个例子中好像传入的是0,但第二个例子又好像是1'''
所以只需要记住只有一个参数的时候reduce()函数会返回它本身
总结
我们可能会发现这些功能,都可以用for loop来替代,但是reduce()使代码看起来更精简,而且运行性能更好,更准确。
转载地址:https://blog.csdn.net/qq_39751320/article/details/104353609 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月18日 13时20分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据结构 — 图 之 MST(最小生成树 — prim算法 )
2019-04-27
数据结构 — 图 之 MPT(最短路径 — dijkstra算法 )
2019-04-27
数据结构 — 7.有向图的创建及出入度的计算
2019-04-27
数据结构 — 图 之 拓扑排序 (AOV网)
2019-04-27
数据结构 — 图 之 关键路径、关键活动 (文字表述)
2019-04-27
数据结构 — 树 与 二叉树、森林
2019-04-27
数据结构 — 二叉树(创建、遍历)java实现
2019-04-27
数据结构 — 查找(最基础)
2019-04-27
关于 自减运算符 (i--/--j)在 循环(for与while)中的执行过程
2019-04-27
Jquery - Jquery 包装集
2019-04-27
python - 【用户、商品】【购买、浏览】数据处理
2019-04-27
python - sql + pandas 与 sqlite 结合
2019-04-27
python - 使用sql 分析(06 - 15)国内各省GDP
2019-04-27
python - 抓取汇率数据分析美元和欧元对RMB的变化曲线
2019-04-27
python 数据科学 - 【回归分析】 ☞ 线性回归(1)
2019-04-27
python 数据科学 - 【回归分析】 ☞ 线性回归(2)
2019-04-27
python - 批量更改文件名(过滤掉某个字符串)
2019-04-27
python 数据科学 - 【分类模型】 ☞ 决策树
2019-04-27
python - zip、numpy.c 函数
2019-04-27