本篇内容介绍了“减少循环的Python函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
map()
map() 函数的作用是将另一函数作为参数,与某种数组放在一起,旨在将函数(作为参数而导入的函数)应用于数组中的每一个项。其好处在于:
-
无需编写循环
-
比编写循环用时短
来看看实际效果。笔者采用名为num_func()的函数,该函数以一个数字作为参数。将该数字平方并除以二,然后返回。
注:函数的操作是任意选择的,用户可以在函数中执行任何想进行的操作。
现在声明一串要应用num_func()的数字数组。注:map() 本身将会返回一个map对象,因此需要将其转为为一个列:
大功告成!虽然不是多难的技术,但是尽可能避免循环总是好事。
reduce()
reduce()则不同,必须从functools模块将其导入。该操作主要是将一个给定的函数应用于项目组,然后返回一个值。
最后一部分很关键——reduce()函数不会返回一个项目组,而是返回一个值。观察以下图表,以对此概念具体化。
在图表不完全清楚的情况下,呈现出以下逻辑:
1.5加10等于15
2.15加12等于27
3.27加18等于45
4.45加25等于70
70是返回的值。从实现代码开始,先从functools模块导入reduce函数,再声明一个返回两个数字之和的函数:
现在,可以在代码中重新查看图表,并验证所有内容是否正常工作:
当然还有许多办法可以对列表中的项目进行汇总,这里只展示了函数工作原理中最简单的一些例子。
filter()
这个函数也非常棒,它可以节省时间——包括编写和执行。顾名思义,这个函数的作用是只将满足特定条件的项保留在数组中。
与map()一样,预先声明函数,然后将其和迭代列表一起传递到 filter()。
来一个示例:现已提前声明了一个名为 more_than_15()的函数,即如果参数给定的项大于15,则返回True。
接下来,声明一个数字数组,并将其作为filter()函数中的第二个参数导入:
“减少循环的Python函数有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/208899.html