十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要介紹Python中字典比列表快的原因是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為塔吊租賃等企業(yè)提供專業(yè)服務(wù)。
1、為什么Python中字典比列表快?
因?yàn)樽值渲惺擎I-值對(key-value),且字典無順序、自動(dòng)去重、占用內(nèi)存多,用內(nèi)存換取速度。最重要的是因?yàn)樽值涫莌ash類型的。
2、那什么是hash呢?
哈希算法將任意長度的二進(jìn)制值映射為較短的固定長度的二進(jìn)制值,這個(gè)小的二進(jìn)制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。
如果散列一段明文而且哪怕只更改該段落的一個(gè)字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個(gè)值的兩個(gè)不同的輸入,在計(jì)算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗(yàn)數(shù)據(jù)的完整性。一般用于快速查找和加密算法。
3、dict會(huì)把所有的key變成hash 表,然后將這個(gè)表進(jìn)行排序。
你通過data[key]去查data字典中一個(gè)key的時(shí)候,python會(huì)先把這個(gè)key hash成一個(gè)數(shù)字,然后拿這個(gè)數(shù)字到hash表中看沒有這個(gè)數(shù)字, 如果有,拿到這個(gè)key在hash表中的索引,拿到這個(gè)索引去與此key對應(yīng)的value的內(nèi)存地址那取值就可以了。
以上是Python中字典比列表快的原因是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!