資訊內容
Python中字典為什么比列表快?
Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
1、為什么python中字典比列表快?Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
因為字典中是鍵-值對(key-value),且字典無順序、自動去重、占用內存多,用內存換取速度。**重要的是因為字典是hash類型的。Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
2、那什么是hash呢?Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)**且極其緊湊的數(shù)值表示形式。Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。一般用于快速查找和加密算法。Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
3、dict會把所有的key變成hash 表,然后將這個表進行排序。Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
你通過data[key]去查data字典中一個key的時候,python會先把這個key hash成一個數(shù)字,然后拿這個數(shù)字到hash表中看沒有這個數(shù)字, 如果有,拿到這個key在hash表中的索引,拿到這個索引去與此key對應的value的內存地址那取值就可以了。Okg少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

- 上一篇
python i18n不能使用
簡介i18n報錯信息一:ModuleNotFoundError:Nomodulenamed'pygal.i18n'解決方法:1、對于報錯,事實上,pygal.i18n已經(jīng)不存在了,現(xiàn)在已經(jīng)更改成了pygal_maps_world,需要單獨通過pip下載,我使用的是Python3,因此需要
- 下一篇
python使用Matplotlib繪制餅圖
簡介一、函數(shù)原型plt.pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=None,radius=None,countercl