溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中字典比列表快的原因是什么

發(fā)布時間:2020-07-08 15:35:24 來源:億速云 閱讀:288 作者:清晨 欄目:編程語言

這篇文章主要介紹Python中字典比列表快的原因是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1、為什么Python中字典比列表快?

因為字典中是鍵-值對(key-value),且字典無順序、自動去重、占用內存多,用內存換取速度。最重要的是因為字典是hash類型的。

2、那什么是hash呢?

哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。

如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。一般用于快速查找和加密算法。

3、dict會把所有的key變成hash 表,然后將這個表進行排序。

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

以上是Python中字典比列表快的原因是什么的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI