大神教你5招加速Python

发布时间:2022-07-21 05:51:02 作者:q30 阅读量:9828

很多人抱怨说自己写的Python代码跑的慢,尤其是当处理的数据集比较大的时候,其实稍微改动几行代码就可以让你的代码性能提高好几倍,不信一起来看下面这个5个小技巧。

1.for 循环

二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较:

把传统的for改成推导列表,高下立判,性能提高了很多,提升了200%

2.用set而不用list

我们再来看一个常见的场景,搜索性能的时候用set是列表10倍,不信看下面这个例子

原因搜索成员的时候,Python的set比list快很多。差距就在if i in mylist 和if i in myset。列表的复杂度是O(n),而集和的复杂度是O(1),搜索起来肯定是set快!

3.交换if和for的位置

很多时候,我们是在for循环内部进行条件判断,循环一个变量,然后用if/else进行判断。对于这样的情况,可以优化一下,把if/else提到for循环外边,也可以提高性能。

4.巧妙的用try/except语句

很多时候在一个for循环内部,对i进行计算,然后添加到一个list里面,如果能巧妙地利用try/except,可以摆脱对if/else检查的开销,从而提高性能。

5.神器collection模块

collection库提供了很多模块,这些模块非常有用,有一些模块是跟容器有关,大部分的实战项目我们都会用到。比如deque双向队列和defaultdict缺省字典。

1).双向队列deque

deque是双向队列,如果你的业务逻辑里面需要大量的从队列的头或者尾部删除,添加,用deque的性能会大幅提高!如果只是小队列,并且对元素需要随机访问操作,那么list会快一些。

2).缺省字典defaultdict

对于字典的使用,我们要学会用defaultdict来代替,一来是因为有缺省值非常安全,如果访问不存在的key,不会报错;二来是Pyhon性能会大幅提高。

仅仅换了字典数据结构,性能就大幅的提高了3倍。

Python里面的技巧还是很多的,尤其是性能优化这块,Py3已经比Py2性能上高了许多,如果我们在平时写代码的时候,能多一份思考,代码不仅能work还能提升性能,相信你经常这样思考,慢慢的就会成为高手啦!当然很多新手经常不得法,可以看看这个捷径。

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

网友评论


评论时间:2023-12-30 06:25:01

在中国云计算行业高速发展x86服务器国内排名前十 的大背景下,阿里国外虚拟主机评测 高速发展的大背景下,阿里巴巴云服务也迎来了前所未有的机遇和挑战


评论时间:2023-05-17 15:25:01

服务器可以用来干嘛 2、上网代理服务器搭建 购买硬件产品


评论时间:2022-08-26 03:25:02

在此,我们先来说说免费虚拟主机接口 x86云主机后台管理系统 我们先来说说x8664系列产品,接下来将对x8664进行详细介绍,希望能够给大家带来帮助

最新文章

 2023-12-25 22:44:35   admin

活动发布区版规

 2023-05-27 22:03:52   御风而行

容器、无服务器、虚拟机:安全性差...

 2023-05-27 19:08:41   小绵羊0123

科技巨头布局云端 服务器 网络硬...

 2023-05-27 18:17:46   姐姐的跟屁虫

钉钉因系统访问流量激增,宕机1小...

热门阅读

 2022-07-23 00:34:02   freeatom

常见ftp命令 FTP命令使用详...

 2022-07-21 02:17:02   ares

双硬盘组建Raid0磁盘阵列图文...

 2022-07-20 06:17:02   mankeung123

用友软件客户端连接不上服务器的解...

 2022-07-23 00:51:02   antonfxb

WebService实例

 2022-07-13 05:38:02   苯小孩

开发、运维不可不看的Linux调...

 2022-07-22 17:00:04   ljf77

DNS服务的启动和停止

随机文章

 2021-12-24 05:38:02   颖儿_Sakura

重庆电信服务器托管注意事项

 2021-12-26 05:38:02   爱UUD哒

为什么服务器托管比租用费用高?

 2022-02-09 05:38:02   whs-72

数据库优化之设计优化

 2022-04-06 05:38:02   shuiduo

如何在自己电脑架设FTP服务器

 2022-04-07 05:38:03   yxb066

Windows Server 2...

 2022-07-19 07:51:02   小南天

windows网络测试工具有哪几...

热评文章

 2022-07-19 20:17:02   dengyu0429

linux vi使用及详细介绍

 2022-07-20 01:00:05   激动的舌头

Linux视频教程:用户管理命令...

 2022-07-21 20:51:02   jessica-an

创建本地FTP站点

 2022-02-07 05:38:03   jasonkidd

WEB服务器配置详解

 2022-07-20 04:51:02   wolfssss

ACL权限-默认与递归(4)

 2022-07-22 15:00:05   淡水珊瑚

Linux下 Samba Ser...
全球云服务器
Catfish(鲶鱼) Blog V 4.7.3