python字典知識

2021-08-27 11:09:37 字數 1361 閱讀 6682

字典的長度:

dict1 =

print(len(dict1)) #2

字典裡沒有同名key, 就算有, 後面相同的鍵對應的值會覆蓋前面的

dict1 =

print(len(dict1)) #2

list, string,tuple特性稱之為 sequece

dict則為map

python2 增加元素隨機放到任意位置, python3從後面依次增加

訪問不存在的鍵, 會報錯keyerror

要避免key不存在的錯誤,有兩種辦法,

一是通過in判斷key是否存在:

『mike』 in dict1 --返回true

二是通過dict提供的get()方法,如果key不存在,可以返回none,或者自己指定的value:

>>> d.get('thomas', -1)

-1print(dict1.get('lily',-1)) --20

dict1.has_key('mike') --python2中的寫法, python3從已廢棄

字典可以儲存任意型別

students =

print(students['mike']['age']) --19

要刪除乙個key,用pop(key)方法,對應的value也會從dict中刪除:

dict1.pop('mike') 或者

del dict1['mike']

key的型別: int, float, str, tuple (不能用不可以hash的list,dict, 如果為list,報錯:unhashable type:list/dict)

hash --不能改變的型別

value的型別: 任意型別

dict2 = --〉 dict2[3.14] --對鍵值的操作不要故意改變鍵

和list比較,dict有以下幾個特點:

查詢和插入的速度極快,不會隨著key的增加而變慢;

需要占用大量的記憶體,記憶體浪費多。

而list相反:

查詢和插入的時間隨著元素的增加而增加;

占用空間小,浪費記憶體很少。

所以,dict是用空間來換取時間的一種方法。

dict可以用在需要高速查詢的很多地方,在python**中幾乎無處不在,正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變物件。

這是因為dict根據key來計算value的儲存位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。這個通過key計算位置的演算法稱為雜湊演算法(hash)。

要保證hash的正確性,作為key的物件就不能變。在python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key:

python字典知識梳理

formkeys 後面的無論是字串還是列表,元組,都當做乙個鍵,對應前面乙個鍵。返回乙個字典所有的鍵。usr bin python dict print value s dict keys 輸出 value age name 返回字典中的所有值。usr bin python dict print v...

python的字典知識要點

1.字典dict key value 字典是乙個無序的資料集合,print輸出字典的時候,輸出順序和定義順序不一致 可變資料型別不能作key 2.定義字典 1 定義乙個空字典 s d dict 2 定義有資料的字典 d dict a 1,b 2 message s 3.特性 1 不支援索引,切片,重...

簡單易學,python 字典知識

python字典是另一種可變容器模型,且可以儲存任意型別物件,如字串,數字,元組等其他容器模型。一 建立字典 字典有鍵和對應值成對組成,欄位也被稱作關聯陣列和雜湊表,基本語法 dict1 注意 每個鍵與值需要用冒號 隔開,每對用逗號 分割,整體放在花括號中,鍵必須獨一無二,但是值不必 值可以取任何資...