為什么字典會查詢速度會快呢?因為他是hash類型的,那什么是hash呢?
哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。
哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,
隨后的哈希都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數
據的哈希值可以檢驗數據的完整性。一般用於快速查找和加密算法。
dict會把所有的key變成hash 表,然后將這個表進行排序,這樣,你通過data[key]去查data字典中一個
key的時候,python會先把這個key hash成一個數字,然后拿這個數字到hash表中看沒有這個數字, 如果
有,拿到這個key在hash表中的索引,拿到這個索引去與此key對應的value的內存地址那取值就可以了。
不過,切記:字典的快是建立在用空間換時間,切記!