1. 你知道 Python 的 list 效能不如 C 語言的 array 嗎?
2023年12月27日
💎 加入 E+ 成長計畫 如果你喜歡我們的內容,歡迎加入 E+,獲得更多深入的軟體前後端內容
你知道 Python 的 list 效能不如 C 語言的 array 嗎?
類型的靈活性 Python 為了 data type 的靈活性,他可以在 list 當中放入不同類別的資料,像是
data =[1, "2", [3]]
就因為這個靈活度導致他需要額外針對裡面的元素做檢查,因此造成其他開銷。而 C 語言的 array 裡面的元素必須是同質的,因此有更好的效能。
數據的增減靈活度 Python 的 list 隨時可以增減長度,意味著實際上在處理的時候需要額外的內存和處理時間,而 C 語言的 array 是固定長度,並且分配在連續的記憶體空間內,因此讀取速度可以加快不少! 如果 Python 想要擁有高效的 list 可以試著用 numpy ,他更接近於傳統我們認知的 array。