3个Python函数帮程序员们避免编写循环,提高运行速度

新闻 前端
诞生于1991年的Python,这几年突然火了。简历上有了Python,就业竞争力瞬间提升,甚至一些小学教材上都出现了Python内容。这种语言的热度超过了以往任何时候。

 3个Python函数帮程序员们避免编写循环,提高运行速度

图源:wired

诞生于1991年的Python,这几年突然火了。简历上有了Python,就业竞争力瞬间提升,甚至一些小学教材上都出现了Python内容。这种语言的热度超过了以往任何时候。

作为21世纪最流行的语言之一,Python当然有很多有趣的函数值得深入探索和研究。笔者今天就将从理论和实际两个方面,介绍其中三个函数。

这三个函数可不简单,它们可以帮助程序员们避免编写循环,有时循环的运行成本是很高的。此外,这些函数还有助于提高运行速度。

拿出笔小本本开始学习吧!

map()

map() 函数的作用是将另一函数作为参数,与某种数组放在一起,旨在将函数(作为参数而导入的函数)应用于数组中的每一个项。其好处在于:

· 无需编写循环

· 2.比编写循环用时短

[[324582]]

图源:unsplash

来看看实际效果。笔者采用名为num_func()的函数,该函数以一个数字作为参数。将该数字平方并除以二,然后返回。

注:函数的操作是任意选择的,用户可以在函数中执行任何想进行的操作。

3个Python函数帮程序员们避免编写循环,提高运行速度

现在声明一串要应用num_func()的数字数组。注:map() 本身将会返回一个map对象,因此需要将其转为为一个列:

3个Python函数帮程序员们避免编写循环,提高运行速度

大功告成!虽然不是多难的技术,但是尽可能避免循环总是好事。

reduce()

reduce()则不同,必须从functools模块将其导入。该操作主要是将一个给定的函数应用于项目组,然后返回一个值。

最后一部分很关键——reduce()函数不会返回一个项目组,而是返回一个值。观察以下图表,以对此概念具体化。

3个Python函数帮程序员们避免编写循环,提高运行速度

在图表不完全清楚的情况下,呈现出以下逻辑:

1.5加10等于15

2.15加12等于27

3.27加18等于45

4.45加25等于70

70是返回的值。从实现代码开始,先从functools模块导入reduce函数,再声明一个返回两个数字之和的函数:

3个Python函数帮程序员们避免编写循环,提高运行速度

现在,可以在代码中重新查看图表,并验证所有内容是否正常工作:

3个Python函数帮程序员们避免编写循环,提高运行速度

当然还有许多办法可以对列表中的项目进行汇总,这里只展示了函数工作原理中最简单的一些例子。

3个Python函数帮程序员们避免编写循环,提高运行速度

图源:business.blogthinkbig.com

filter()

这个函数也非常棒,它可以节省时间——包括编写和执行。顾名思义,这个函数的作用是只将满足特定条件的项保留在数组中。

与map()一样,预先声明函数,然后将其和迭代列表一起传递到 filter()。

来一个示例:现已提前声明了一个名为 more_than_15()的函数,即如果参数给定的项大于15,则返回True。

3个Python函数帮程序员们避免编写循环,提高运行速度

接下来,声明一个数字数组,并将其作为filter()函数中的第二个参数导入:

3个Python函数帮程序员们避免编写循环,提高运行速度

正如所料,只有三个值满足给定条件。是不是看起来比循环好多了?

[[324588]]

图源:unsplash

用好这三个函数,你的代码看起来会更好,循环数也会更少。熟能生巧,要多练习呀~

责任编辑:张燕妮 来源: 读芯术
相关推荐

2010-08-20 09:15:17

Ext JSJavaScript

2018-03-09 10:15:00

Linux应用程序运行速度

2018-08-02 16:17:34

Python 开发编程语言

2021-07-01 07:43:41

项目程序员代码

2018-09-19 15:46:51

编程语言Python编译器

2021-11-03 06:28:21

Python运行速度开发

2021-09-28 09:57:50

程序员技能开发

2011-11-07 10:29:39

程序员

2021-03-07 22:12:04

Windows 10Windows微软

2014-09-02 12:56:13

程序员

2019-10-25 10:33:17

程序员技能开发者

2014-09-02 11:01:40

减压减压网站推荐网站

2013-07-08 11:16:05

Windows 7

2020-12-07 10:19:01

程序员技术IT

2019-09-19 14:28:14

程序员分布式系统

2024-03-11 15:47:11

RustPython代码

2009-08-11 09:10:26

Windows 7系统提速

2015-06-18 10:16:27

程序员

2012-03-19 09:31:44

程序员

2020-06-15 08:01:33

CRUD程序员代码
点赞
收藏

51CTO技术栈公众号