python嵌套循环优化_减少循环嵌套,提升代码运行速度!你不知道的3个实用Python函数...
作为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函数...相关推荐
- python嵌套循环注意事项_python循环嵌套的几种使用方法
使用循环嵌套来获取100以内的质数 使用循环嵌套来获取100以内的质数 #!/usr/bin/python # -*- coding: UTF-8 -*- num=[]; i=2 for i in r ...
- python嵌套循环跳出_如何跳出嵌套的while循环
我无法打破while循环.这是我的密码while (True): if (dem_arr[randx, randy] > -100): ticker = 0 while stack: x, y ...
- python嵌套循环优化_如何在python中优化嵌套循环?
我要处理邮件分组字典中的所有条目以及所有剩余条目.但是,由于我要用two-for循环重复一些计算,所以需要花费很多时间来处理.但是,一旦我是python新手,我就找不到一个简单的方法来避免这些重复.基 ...
- python 条件语句实例_详解python 条件语句和while循环的实例代码
详解python 条件语句和while循环的实例代码,逻辑,布尔,值为,结束,语句 详解python 条件语句和while循环的实例代码 易采站长站,站长之家为您整理了详解python 条件语句和wh ...
- 《Python智能优化算法:从原理到代码实现与应用》出版啦
<Python智能优化算法:从原理到代码实现与应用> 各位亲爱的小伙伴,让各位久等了.我们撰写的<Python智能优化算法:从原理到代码实现与应用>由电子工业出版社出版了. 本 ...
- python 循环嵌套例子,【python实例练习1】循环嵌套——“百鸡百钱”问题
while: 无限循环又称为条件循环,好处是不需要提前确定循环次数,跟for<>in<>:循环一样也存在使用保留字else的扩展模式,这个else与异常处理中的else类似,可 ...
- python网页优化_李亚涛:python辅助seo优化让你更轻松
原标题:李亚涛:python辅助seo优化让你更轻松 一个专业的seo其实要学习非常多的知识点,因为SEO涉及的东西比较多: 学习seo要掌握哪些技能呢? 之前我写过一篇文章有给大家介绍:0基础学SE ...
- python 取反_自从用了这招pandas 空数据处理方法,python编程速度提升了不少
今天为大家带来的内容是:自从用了这招pandas 空数据处理方法,python编程速度提升了不少 文章内容主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工 ...
- python多进程优化_如何利用多进程优化Python视频应用
如果要用Python播放视频,或者打开摄像头获取视频流,我们可以用OpenCV Python.但是在视频帧获取的时候同时做一些图像识别和处理,可能会因为耗时多而导致卡顿.一般来说,我们首先会想到把这些 ...
最新文章
- XWiki 11.1 发布,协作式应用开发平台
- .NET环境下创建Activex (转)
- PyTorch基础(part3)
- oracle Instance status: READY–lsnrctl status|start|stop
- .net下导致Session失效的一种情况:js教本中使用window.open和window.showModalDialog时需要注意...
- 【java笔记】网络编程概述
- 腾讯同事要跳槽,问我背包问题具体咋回事,我直接甩给他这篇!
- opencv使用trackbar调控美颜程度
- php成绩查询系统的学习心得_CPA成绩查询系统开通时间
- HTML转PDF(Thymeleaf做模板)
- 中国互联网杀毒软件的简要发展历史
- stm32f103c6t6
- 探究正雅S8-SGTB与S8-SGHB
- 使用jQuery的基于DOM的数据存储和检索
- 使用云效构建部署项目
- 超声波测距仪编程_超声波测距仪程序
- Trash Problem
- #Sora#peewee query 笔记
- 我在实验室电脑上玩Kali(中间人攻击、ARP,顺便断了同学的网)
- 拉普拉斯Laplace算子和高斯二阶导核(LOG算子)和SIFT算法
热门文章
- unity连接mysql并读取所有数据库_Unity 3D 连接Mysql数据库
- 全局安装python_python pip 安装与使用
- Spring Cloud 之 Ribbon,Spring RestTemplate 调用服务使用Hystrix熔断器
- JAVA 实现FTP功能_在Java程序中实现FTP功能
- mysql 编译cpu数量_适合MySQL的Xeon 55XX系列CPU编译参数
- 数据分箱4——卡方最优分箱 ChiMerge算法使用(有监督)
- python判断一个日期对应的节假日名
- Ubuntu 装机必备设置与软件安装
- nginx作用_云服务器:详解Nginx启用proxy_buffer缓冲
- iphone控制电脑_苹果远程控制电脑软件免费下载-超控Controlax(iPhone远程控制Windows)v1.1 最新版...