字典介紹:1,字典和列表一樣都具有索引,只不過列表的索引是雜湊函式生成的,列表的索引是數字(它本身暗示了資料的某種順序)而已。
2,要知道列表是c語言之中的陣列實現的,列表是動態的陣列,而元組則是靜態的陣列
3,字典或集合預設的最小長度是 8(也就是說,即使你只儲存 3 個值, python 仍然會分配 8 個元素)。每次改變大小時,桶的個數增加到原來的 4 倍,直至達到 50000個元素,之後每次增加到原來的 2 倍
字典插入資料:
1,使用字典當我們插入資料時,首先需要計算鍵的雜湊值並掩碼(記憶體之中的索引值)來得到乙個有效的陣列索引(也說明為什麼是無序的)。
2,我們需要檢查這個位址是否已經被使用。如果它是空桶,我們可以將鍵和值插入這一記憶體塊。如果位址已經被使用,且位址內的值跟我們希望插入的值相等(使用內建的 cmp進行比較),說明這一鍵值對已經儲存於雜湊表中,我們可以直接返回
3,如果值不相等,那麼我們需要找到乙個新的位置來儲存資料,為了找到新的索引,我們用乙個簡單的線性函式計算出乙個新的索引,這一方法稱為嗅探.
4,python 的嗅探機制使用了原始雜湊值的高位位元,使用這些高位位元使得每乙個雜湊值生成的下一可用雜湊序列都是不同的,這樣就能幫助防止未來的碰撞.
字典通過鍵尋找資料:
1,通過鍵來查詢資料,給出的鍵會被轉化為乙個索引進行檢索。如果和該索引指向的位置中的鍵符合(在插入操作時我們會儲存原始的鍵),那麼我們就會返回那個值。
2,如果不符合,我們用同乙個方案繼續建立新的索引,直至我們找到資料或找到乙個空桶。
3,如果我們找到乙個空桶,我們就可以認為表裡不存在該資料。
python的列表 元組與字典
python支援一種資料結構的基本概念,即容器 container 容器基本上就是包含其他物件的物件。兩種主要的容器就是序列 如列表和元組 與對映 如字典 在序列中,每個元素都有編號,這個編號我們也可以稱之為索引,從0開始遞增。而在對映中,每個元素都有名稱 也叫做鍵 列表的特點就是可以修改,而且列表...
Python元組 字典
t1 a 1,2,3 t2 b 4,5,6 元組的主要缺點就是資料的可讀性差,當我們沒有給資料分配名字時,即沒有像symbol,num1,num2,num3 t1這種 時,我們不會知道t1元組裡的第乙個值代表symbol,第二個值代表num1 我們訪問元組時也只能是類似t1 1 這樣,不能知道資料的...
Python 元組 字典
元組簡介 字典簡介 字典的基本介紹 字典的作用和列表類似,都是用來儲存物件的容器 列表儲存資料的效能好,但是查詢資料的效能差,字典正好與之相反 在字典中每乙個元素都有唯一的名字,通過這個唯一的名字可以找到指定的元素 這個唯一的名字我們稱之為key 通過key可以快速查詢value 也可以稱之為值 字...