字典的長度:
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 注意 每個鍵與值需要用冒號 隔開,每對用逗號 分割,整體放在花括號中,鍵必須獨一無二,但是值不必 值可以取任何資...