1. 你知道 Python 的 list 效能不如 C 語言的 array 嗎?

2023年12月27日

💎 加入 E+ 成長計畫 與超過 350+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源

你知道 Python 的 list 效能不如 C 語言的 array 嗎?

  1. 類型的靈活性 Python 為了 data type 的靈活性,他可以在 list 當中放入不同類別的資料,像是

    data =1, "2", [3]]
    

    就因為這個靈活度導致他需要額外針對裡面的元素做檢查,因此造成其他開銷。而 C 語言的 array 裡面的元素必須是同質的,因此有更好的效能。

  2. 數據的增減靈活度 Python 的 list 隨時可以增減長度,意味著實際上在處理的時候需要額外的內存和處理時間,而 C 語言的 array 是固定長度,並且分配在連續的記憶體空間內,因此讀取速度可以加快不少! 如果 Python 想要擁有高效的 list 可以試著用 numpy ,他更接近於傳統我們認知的 array。

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們