作为21世纪最流行的语言之一,Python有很多有趣的功能值得深入探索和研究。今天将讨论其中的三个你可能没听说过的函数,将从理论和实际应用两方面为你详细讲解。

我之所以要讨论这些函数,主要是因为它们可以帮助你避免陷入编写循环中。在某些情况下,循环的运行成本很高,除此之外,这些函数还有助于提高速度。

以下是本文将介绍以下三个函数:map()

filter()

reduce()

即使你以前听说过这些函数,但是通过我列出的这些理论和例子来强化你的知识储备也没有坏处。

所以,不需要你花费太多的精力来整理,我都给你准备好啦!

一.map()

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

这有两个原因:你不需要写循环

比循环还快

让我们看看它的实际效果。我将声明一个名为 num_func()的函数,该函数以一个数字作为参数。这个数字是平方的,除以2,然后返回。注意,操作是任意选择的,你可以在函数中执行任何你想要的操作:

现在让我们声明一个要应用 num_func()的数字数组。请注意,map()本身将返回一个 map 对象,因此你需要将其转换为一个列表:

这个过程成功完成了,这里没有什么突破性的东西,但是尽可能避免循环是件好事。

二.filter()

这是另一个很好的函数,它可以节省你的时间,包括编写和执行。顾名思义,这个想法是只将满足特定条件的项保留在数组中。

与 map()一样,我们可以预先声明函数,然后将其传递到 iterable 列表旁边的 filter()。

让我们看看这个动作。我已经声明了一个名为 more_than_15()的函数,顾名思义,如果作为参数给定的项大于15,它将返回True:

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

如图所示,只有三个值满足给定条件。

三.reduce()

reduce()与前两个函数有点不同。首先,我们必须从functools模块进行导入。这背后的主要思想是,它将把一个给定的函数应用于项数组,并因此返回一个值。

最后一部分很关键-reduce()不会返回一个项数组,它总是返回一个值。让我们看一个图表,使这个概念具体化。

下面是在图表不完全清楚的情况下写出的逻辑:5加10等于15

15加上12,结果是27

27加上18,结果是45

45加上25,结果是70

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

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

当然,这只是展示这些函数工作原理的最简单的例子,肯定还有其他方法可以对列表中的项目进行汇总。

四.最后

希望你能在日常生活中利用这三个功能!速度的提高可能不是很大,这取决于你处理的数据量,但是代码能在更少的循环下看起来会更好。

如果你有其他的例子,不要犹豫!在评论区分享给我们吧!

--END--

查看更多最新资讯,欢迎大家点击上方链接登录我们的AI社区。

以及关注我们的公众号:为AI呐喊(weainahan)

python嵌套循环优化_减少循环嵌套,提升代码运行速度!你不知道的3个实用Python函数...相关推荐

  1. python嵌套循环注意事项_python循环嵌套的几种使用方法

    使用循环嵌套来获取100以内的质数 使用循环嵌套来获取100以内的质数 #!/usr/bin/python # -*- coding: UTF-8 -*- num=[]; i=2 for i in r ...

  2. python嵌套循环跳出_如何跳出嵌套的while循环

    我无法打破while循环.这是我的密码while (True): if (dem_arr[randx, randy] > -100): ticker = 0 while stack: x, y ...

  3. python嵌套循环优化_如何在python中优化嵌套循环?

    我要处理邮件分组字典中的所有条目以及所有剩余条目.但是,由于我要用two-for循环重复一些计算,所以需要花费很多时间来处理.但是,一旦我是python新手,我就找不到一个简单的方法来避免这些重复.基 ...

  4. python 条件语句实例_详解python 条件语句和while循环的实例代码

    详解python 条件语句和while循环的实例代码,逻辑,布尔,值为,结束,语句 详解python 条件语句和while循环的实例代码 易采站长站,站长之家为您整理了详解python 条件语句和wh ...

  5. 《Python智能优化算法:从原理到代码实现与应用》出版啦

    <Python智能优化算法:从原理到代码实现与应用> 各位亲爱的小伙伴,让各位久等了.我们撰写的<Python智能优化算法:从原理到代码实现与应用>由电子工业出版社出版了. 本 ...

  6. python 循环嵌套例子,【python实例练习1】循环嵌套——“百鸡百钱”问题

    while: 无限循环又称为条件循环,好处是不需要提前确定循环次数,跟for<>in<>:循环一样也存在使用保留字else的扩展模式,这个else与异常处理中的else类似,可 ...

  7. python网页优化_李亚涛:python辅助seo优化让你更轻松

    原标题:李亚涛:python辅助seo优化让你更轻松 一个专业的seo其实要学习非常多的知识点,因为SEO涉及的东西比较多: 学习seo要掌握哪些技能呢? 之前我写过一篇文章有给大家介绍:0基础学SE ...

  8. python 取反_自从用了这招pandas 空数据处理方法,python编程速度提升了不少

    今天为大家带来的内容是:自从用了这招pandas 空数据处理方法,python编程速度提升了不少 文章内容主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工 ...

  9. python多进程优化_如何利用多进程优化Python视频应用

    如果要用Python播放视频,或者打开摄像头获取视频流,我们可以用OpenCV Python.但是在视频帧获取的时候同时做一些图像识别和处理,可能会因为耗时多而导致卡顿.一般来说,我们首先会想到把这些 ...

最新文章

  1. XWiki 11.1 发布,协作式应用开发平台
  2. .NET环境下创建Activex (转)
  3. PyTorch基础(part3)
  4. oracle Instance status: READY–lsnrctl status|start|stop
  5. .net下导致Session失效的一种情况:js教本中使用window.open和window.showModalDialog时需要注意...
  6. 【java笔记】网络编程概述
  7. 腾讯同事要跳槽,问我背包问题具体咋回事,我直接甩给他这篇!
  8. opencv使用trackbar调控美颜程度
  9. php成绩查询系统的学习心得_CPA成绩查询系统开通时间
  10. HTML转PDF(Thymeleaf做模板)
  11. 中国互联网杀毒软件的简要发展历史
  12. stm32f103c6t6
  13. 探究正雅S8-SGTB与S8-SGHB
  14. 使用jQuery的基于DOM的数据存储和检索
  15. 使用云效构建部署项目
  16. 超声波测距仪编程_超声波测距仪程序
  17. Trash Problem
  18. #Sora#peewee query 笔记
  19. 我在实验室电脑上玩Kali(中间人攻击、ARP,顺便断了同学的网)
  20. 拉普拉斯Laplace算子和高斯二阶导核(LOG算子)和SIFT算法

热门文章

  1. unity连接mysql并读取所有数据库_Unity 3D 连接Mysql数据库
  2. 全局安装python_python pip 安装与使用
  3. Spring Cloud 之 Ribbon,Spring RestTemplate 调用服务使用Hystrix熔断器
  4. JAVA 实现FTP功能_在Java程序中实现FTP功能
  5. mysql 编译cpu数量_适合MySQL的Xeon 55XX系列CPU编译参数
  6. 数据分箱4——卡方最优分箱 ChiMerge算法使用(有监督)
  7. python判断一个日期对应的节假日名
  8. Ubuntu 装机必备设置与软件安装
  9. nginx作用_云服务器:详解Nginx启用proxy_buffer缓冲
  10. iphone控制电脑_苹果远程控制电脑软件免费下载-超控Controlax(iPhone远程控制Windows)v1.1 最新版...