Python字典的底層原理和優缺點


字典對象的核心是散列表。散列表是一個稀疏數組(總是有空白元素的數組),數組的每個單元叫做 bucket。每個 bucket 有兩部分:一個是鍵對象的引用,一個是值對象的引用。所有 bucket 結構和大小一致,我們可以通過偏移量來讀取指定 bucket。下面通過存儲與獲取數據的過程介紹字典的底層原理。

 

小結:

1. 字典在內存中開銷巨大,典型的空間換時間。

2. 鍵查詢速度很快。

3. 往字典里面添加新建可能導致擴容,導致散列表中鍵的次序變化。因此,不要在遍歷字典的同時進行字典的修改。

4.鍵必須可散列,如數字、元組、字符串;自定義對象需要滿足支持hash。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM