社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

让 Python 起飞的 24 个骚操作!

Linux爱好者 • 3 年前 • 414 次点击  

Python加速的技巧有很多,这篇文章总结了24个,查缺补漏,每天学会一个新的小技巧

一、分析代码运行时间

第1式:测算代码运行时间

平凡方法
快捷方法(jupyter环境)

第2式:测算代码多次运行平均时间
平凡方法
快捷方法(jupyter环境)

第3式:按调用函数分析代码运行时间
平凡方法
快捷方法(jupyter环境)

第4式:按行分析代码运行时间
平凡方法
快捷方法(jupyter环境)

二、加速你的查找

第5式:用set而非list进行查找
低速方法
高速方法

第6式:用dict而非两个list进行匹配查找
低速方法
高速方法

三、加速你的循环

第7式:优先使用for循环而不是while循环
低速方法
高速方法
第8式:在循环体中避免重复计算
低速方法
高速方法

四、加速你的函数

第9式:用循环机制代替递归函数
低速方法
高速方法
第10式:用缓存机制加速递归函数
低速方法
高速方法

第11式:用numba加速Python函数
低速方法
高速方法

五、使用标准库函数进行加速

第12式:使用collections.Counter加速计数
低速方法
高速方法
第13式:使用collections.ChainMap加速字典合并
低速方法

高速方法

六,使用numpy向量化进行加速

第14式:使用np.array代替list
低速方法
高速方法
第15式:使用np.ufunc代替math.func
低速方法
高速方法
第16式:使用np.where代替if
低速方法

高速方法

七、加速你的Pandas

第17式:使用np.ufunc函数代替applymap
低速方法
高速方法
第18式:使用预分配存储代替动态扩容
低速方法
高速方法

第19式:使用csv文件读写代替excel文件读写
低速方法
高速方法
第20式:使用pandas多进程工具pandarallel
低速方法
高速方法

八、使用Dask进行加速

第21式:使用dask加速dataframe
低速方法
高速方法
第22式:使用dask.delayed进行加速
低速方法
高速方法

九、应用多线程多进程加速

第23式:应用多线程加速IO密集型任务
低速方法

高速方法
第24式:应用多进程加速CPU密集型任务
低速方法
高速方法


- EOF -

推荐阅读  点击标题可跳转

1、一些著名的软件都用什么语言编写?

2、再见了 VMware,一款更轻量级的虚拟机!

3、2 万字系统总结,带你实现 Linux 命令自由?


看完本文有收获?请分享给更多人

推荐关注「Linux 爱好者」,提升Linux技能

点赞和在看就是最大的支持❤️

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128460
 
414 次点击