鍵:通常是惟一的,若是重複最後的一個鍵值對會替換前面的,值不須要惟一
值:能夠取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組python
a = dict([('a',1),('b',2),('c',3)]) a type(a) {'a':1,'b':2,'c':3} dict
b = {'a':1,'b':2,'c':3} b type(b) {'a':1,'b':2,'c':3} dict
c = {'a':1,'b':2,'c':3} c['e'] = 4 e {'a':1,'b':2,'c':3,'e':4}
d = {'a':1,'b':2,'c':3} d.setdefault('e',4) d {'a':1,'b':2,'c':3,'e':4}
經常使用的5種方法code
del 字典名['鍵名'] | 刪除指定鍵值 |
---|---|
字典名.pop('鍵名') | 刪除鍵值+彈出值 |
字典名.popitem() | 隨機刪除一對(通常最後一對)+彈出 |
字典名.clear() | 刪除詞典內全部元素(和列表對應操做相同) |
del 字典名 | 刪除整個詞典(和列表對應操做相同) |
Examples:htm
scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95} scores.clear() scores {}scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95} del scores['Mike'] scores {'Tom': 89, 'Mary': 95, 'Jack': 95}
字典名[鍵] = 新值對象
字典名['鍵名'] | 返回改鍵所對應的值 |
---|---|
字典名.get('鍵名') | 返回改鍵所對應的值 |
字典名.keys() | 返回包含全部鍵的列表 |
字典名.values() | 返回包含全部值的列表 |
字典名.items() | 返回全部包含鍵值對的列表 |
Examples:blog
scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95} scores.get('Mary') 95scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95} scores.items() dict_items([("Mike":88),("Tom":89),("Mary":95),("Jack":95)])
Examples:索引
a = {'a':1, 'b':(1, 2), 'c':[1, 2, 3], 'd':(1, 2, {1:1}), 'e':{1, 2, 3}} b = copy(a) id(a) id(b) 82254800 82254224 # 不一樣電腦運行結果不一樣,但a,b兩個字典的id不一樣 [id(x) for x in a] [id(x) for x in b] [30713928, 30712248, 30378392, 30622024, 30621968] [30713928, 30712248, 30378392, 30622024, 30621968] # 內部的item的id 是同樣的 說明內部的元素指向同一個值
深拷貝內存
Examples:字符串
from copy import deepcopy c = deepcopy(a) id(a) id(c) 82254800 82201408 # 不一樣電腦運行結果不一樣,但a,c兩個字典的id不一樣 [id(a[x]) for x in a] [id(c[x]) for x in c] [8791153438464, 77829320, 79350664, 79322712, 79516840] [8791153438464, 77829320, 82216968, 82251848, 79517288] # 內部的item的id 是同樣的 說明內部的元素指向同一個值結果發現可變類型的id發生了變化,具體總結可參考Python基礎入門—列表list相關內容get