Python进阶系列连载(12)——Python内置高阶函数reduce(下)

浏览: 2851

前言


进阶部分连载继续~

如果还没看过我的入门连载部分,先看:

https://ask.hellobi.com/blog/wangdawei/10288


当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一遍~

视频传送门:https://edu.hellobi.com/course/234

图片.png

前文传送门:

Python进阶系列连载(1)——那些容易被忽略的问题(上)

Python进阶系列连载(2)——那些容易被忽略的问题(中)

Python进阶系列连载(3)——那些容易被忽略的问题(下)

Python进阶系列连载(4)——迭代器

Python进阶系列连载(5)——生成器(上)

Python进阶系列连载(6)——生成器(中)

Python进阶系列连载(7)——生成器(下)

Python进阶系列连载(8)——闭包(上)

Python进阶系列连载(9)——Python内置高阶函数map(上)

Python进阶系列连载(10)——Python内置高阶函数map(下)

Python进阶系列连载(11)——Python内置高阶函数reduce(上)


reduce


关于reduce,其实还有很多!


比如,reduce可以设置一个初试值,作为第一次两数求和中的一个:


图片.png


小明:老湿,你这个reduce讲了这么久,感觉写的不够优雅啊!


你看我的!


图片.png


图片.png


小明这段时间感觉智商明显上升啊!


小明:那可不 ,老湿,我最近思考人生,得出一个惊天发现!


图片.png


咳咳,小明啊,我收回之前说过的话。。。


我们继续上课!如果是乘法,也就很简单了:


图片.png


下面问个问题,如果要求求出1~100的偶数和怎么弄呢?


小明:这个太简单了!


图片.png


嗯,小明写的不错,那有没有什么优(zhuang)雅(bi)的方式一行搞定呢?

提示:使用匿名函数,reduce,列表生成式!


小明:还有这种操作?我不信的!


小红:老师,我觉得可以这样:


图片.png


嗯,非常不错!很优雅!


小明:我就这个表情


图片.png


对了,reduce差不多基础内容就这些了


我们看看之前留下的一个面试题吧:

如何用一两行代码搞定1~100求和(限制使用匿名函数lambda


小红:老师,我觉得可以这样:


图片.png


嗯嗯,非常不错,想想我们今天学了什么?


小明:reduce啊!


嗯嗯,那这题能用reduce做么?


小明:这个?又触及到我的知识盲区了!!!


小红:我觉得可以这样的:


图片.png


小明:小红,请你坐下!你挡到坐在你后面的梨大招同学了!


小红:。。。


今天作业:

1.敲一遍代码,感受一下reduce的黑魔法

自己不敲代码永远学不会写代码

下课

人生苦短,我选Python

未完待续,连载中......

欢迎评论指出文中错误和提问~~~


下一篇链接:Python进阶系列连载(13)——Python内置高阶函数filter(上)

推荐 4
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

4 个评论

限制使用匿名函数lambda....
这个"限制"改成使用会好一点,开始理解成了不可以使用匿名函数
为什么下面代码运行出现TypeError错误?
f=lambda x:sum(range(1,x+1))
f(100)
虽然看的比较晚,但还是想问一句,为啥不直接用sum(range(1,101))

要回复文章请先登录注册