如何提高python的執行效率 縮短執行時間

2021-08-13 20:32:15 字數 1119 閱讀 2688

最近python剛剛入門不久,由於正好有要解決的問題,因此要用到python來做實驗,感覺磕磕絆絆很多,所以自己也總結了一下前車之鑑。

python是一門解釋性語言(高階語言可以按照翻譯成機器語言的不同方式分為編譯性語言和解釋性語言,編譯性語言指的是執行的時候先經過編譯,即生成乙個可執行檔案,如.exe,以後執行這個.exe的時候就不用經過編譯了,效率高。解釋性語言指的是翻譯的方式是解釋,就是不經過編譯,但是每一次執行都要解釋一次,執行效率比編譯性語言低),因此需要盡可能地避免造成執行效率低的情況。根據我這段時間的實踐,把一些比較直觀的經驗介紹給大家:

1.資料結構一定要選對

能用字典就不用列表:字典在索引查詢和排序方面遠遠高於列表。我的資料集比較大,有百萬個資料,有一部分**是我要進行排序,一開始我選擇的是列表,但是排序完成之後需要8分鐘,這樣真的太慢了,後來我選用了字典之後,只用了十幾秒就出了結果。這個效果是令我震驚的。

2.多用python中封裝好的模組庫

我現在用的主要的模組有numpy,matplotlib,pandas這三個。matplotlib是繪相簿,這個就不多說了,但我發現numpy和pandas是很強大的,numpy主要是用於計算的,裡面有乙個資料型別叫numpy.ndarray。

ndarray 是乙個

多維的陣列物件,具有向量

算術運算能力

和複雜的

廣播能力,並具有

執行速度快

和節省空間

的特點。

ndarray 的乙個特點是

同構:即其中所有元素的型別

必須相同

。這個ndarray和list列表的主要區別如下:

list是python基本資料型別,它的元素型別可以不同
ndarray是numpy的一種資料型別,它所包含的元素必須相同
關於它的具體的使用方法可以見

ndarray型別擁有很多便捷的函式可以進行矩陣運算,而pandas在大資料的處理方面有更加強大的能力。我在這方面的主要應用是將資料儲存成.csv檔案和從.csv檔案中讀入的時候用到了這個模組,用到了pandas中的dataframe和series,進行資料運算的時候超級方便。具體的一些使用方法可以見

3.參考前人

如何提高PHP執行效率

用單引號代替雙引號來包含字串,這樣做會更快一些。因為php會在雙引號包圍的字串中搜尋變數,單引號則不會,注意 只有echo能這麼做,它是一種可以把多個字串當作引數的 函式 譯註 php手冊中說echo是語言結構,不是真正的函式,故把函式加上了雙引號 1 如果能將類的方法定義成static,就盡量定義...

如何提高MySQL的執行效率

在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面就是sql語句的優化。對於海量資料,劣...

提高python執行效率的方法

python上手很容易,但是在使用過程中,怎麼才能使效率變高呢?下面說一下提高python執行效率的方法,這裡只是說一點,python在引入模組過程中提高效率的方法。例如 1.我們要使用os模組中的某個屬性,那我們可以單獨引入os中某個屬性 from os import version 同樣的我們也...