前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >24式加速你的Python

24式加速你的Python

作者头像
AI科技大本营
发布2019-10-10 16:55:42
5070
发布2019-10-10 16:55:42
举报
文章被收录于专栏:AI科技大本营的专栏

作者 | 梁云1991

来源 Python与算法之美

一、分析代码运行时间

第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加速字典合并

低速方法

高速方法

六、使用高阶函数进行加速

第14式,使用map代替推导式进行加速

低速方法

高速方法

第15式,使用filter代替推导式进行加速

低速方法

高速方法

七、使用numpy向量化进行加速

第16式,使用np.array代替list

低速方法

高速方法

第17式,使用np.ufunc代替math.func

低速方法

高速方法

第18式,使用np.where代替if

低速方法

高速方法

八、加速你的Pandas

第19式,使用csv文件读写代替excel文件读写

低速方法

高速方法

第20式,使用pandas多进程工具pandarallel

低速方法

高速方法

九、使用Dask进行加速

第21式,使用dask加速dataframe

低速方法

高速方法

第22式,使用dask.delayed进行加速

低速方法

高速方法

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

第23式,应用多线程加速IO密集型任务

低速方法

高速方法

第24式,应用多进程加速CPU密集型任务

低速方法

高速方法

(*本文为 AI科技大本营转载文章,转载请联系原作者)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者 | 梁云1991
    • 一、分析代码运行时间
      • 二、加速你的查找
        • 三、加速你的循环
          • 四、加速你的函数
            • 五、使用标准库函数进行加速
              • 六、使用高阶函数进行加速
                • 七、使用numpy向量化进行加速
                  • 八、加速你的Pandas
                    • 九、使用Dask进行加速
                      • 十、应用多线程多进程加速
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档