2014-02-19 51 views
6

的底層數據結構我想獲得關於Python中的數據類型是如何一定的瞭解 - 列表,元組,字典和設置 - 實現列表,元組,字典

他們是如何實現的,重要的使用的數據結構。 任何地方/ URL來正是得到理解?

+5

[源碼](http://hg.python.org/cpython/)將是我的第一選擇。 – thefourtheye

+4

在Python,Jython,PyPy,...中實現? – Matthias

+0

底層實現是_implementation details_,你不能假設它們在所有Python實現中都是相同的。 – lanzz

回答

6

尋找最好的地方是CPython implementation source code

  • dict - 哈希地圖定位鍵,
  • list的快速解決了 - 看起來的PyObject小號
  • tuple陣列 - 同名單,但與最佳化,一個元組可以允許(固定大小,對象)
  • set - 哈希映射的優化緩存局部性

源代碼是大量註釋和寫得很好C。這將是瞭解詳細使用的數據結構的最佳位置。

+0

謝謝! 我試圖尋找這樣的東西,並沒有得到一個好的結果。謝謝。 – Raghav