為什么python字典要比列表快以及哈希查找解釋。


為什么字典會查詢速度會快呢?因為他是hash類型的,那什么是hash呢?
哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。
哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,
隨后的哈希都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數
據的哈希值可以檢驗數據的完整性。一般用於快速查找和加密算法。

dict會把所有的key變成hash 表,然后將這個表進行排序,這樣,你通過data[key]去查data字典中一個
key的時候,python會先把這個key hash成一個數字,然后拿這個數字到hash表中看沒有這個數字, 如果
有,拿到這個key在hash表中的索引,拿到這個索引去與此key對應的value的內存地址那取值就可以了。

不過,切記:字典的快是建立在用空間換時間,切記!


免責聲明!

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



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