Py学习  »  Python

让 Python 起飞的 24 个骚操作!

算法爱好者 • 2 年前 • 228 次点击  

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、“阿里味” PUA 编程语言火上 GitHub 热榜

3、深入理解 CPU 的调度原理


觉得本文有帮助?请分享给更多人

推荐关注「算法爱好者」,修炼编程内功

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

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