不懂這24招神技,別說你會Python!

一,分析代碼運行時間

第1式,測算代碼運行時間segmentfault

平凡方法緩存

快捷方法(jupyter環境)多線程

第2式,測算代碼屢次運行平均svg

時間函數

平凡方法工具

快捷方法(jupyter環境)spa

第3式,按調用函數分析代碼運行時間線程

平凡方法excel

快捷方法(jupyter環境)cdn

第4式,按行分析代碼運行時間

平凡方法

快捷方法(jupyter環境)

二,加速你的查找

第5式,用set而非list進行查找

低速方法

高速方法

第6式,用dict而非兩個list進行匹配查找

低速方法

高速方法

image

三,加速你的循環

第7式,優先使用for循環而不是while循環

低速方法

高速方法

image

第8式,在循環體中避免重複計算

低速方法

高速方法

四,加速你的函數

第9式,用循環機制代替遞歸函數

低速方法

高速方法

第10式,用緩存機制加速遞歸函數

低速方法

高速方法

第11式,用numba加速Python函數

低速方法

image

高速方法

五,使用標準庫函數進行加速

第12式,使用collections.Counter加速計數

低速方法

高速方法

第13式,使用collections.ChainMap加速字典合併

低速方法

image

高速方法

六,使用高階函數進行加速

第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密集型任務

低速方法

高速方法

相關文章
相關標籤/搜索