字典是一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值 key value 對用冒號:分割,每個鍵值對之間用逗號,分割,整個字典包括在花括號{ }中,格式如下所示:
d = {key1 : value1, key2 : value2 }
鍵是唯一性的,如果鍵有重複,最後的一個鍵值對會替換前面的,值不需要唯一。
>>>dict = {'a': 1, 'b': 2, 'b': 3 }
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': 3}
值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。
一、訪問字典裏的值
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First' }
print( "dict['Name']: ", dict['Name'] )
如果用字典裏沒有的鍵訪問數據,會輸出錯誤:KeyError : '沒有的鍵'
二、修改字典
(1) 向字典中添加新的元素
dict['School'] = 'GSAU School'
(2) 向字典中修改已經存在的值
dict['Age'] = 8
dict[' 鍵 '] = ' 值 ' 如果鍵是字典中沒有的,則創建新的鍵值對;如果鍵已經存在字典中,則修改原來的鍵對應的值!!!
三、刪除字典元素
(1) 刪除單一的元素
del dict['Name'] # 刪除鍵是'Name'的條目
(2) 清空字典裏的所有元素,但是字典對象還在!!!
dict.clear() # 清空詞典所有的條目
(3) 刪除字典
del dict # 刪除內存中的字典對象
四、字典內置函數&方法
(1) Python字典包含3個內置函數:
1⃣️len(dict) 計算字典元素個數,即鍵的總數。
2⃣️srt(dict) 輸出字典,以可打印的字符串表示。
3⃣️type(dict) 返回字典類型。<class 'dict'>
(2) Python字典包含一下內置方法:
1⃣️dict.clear() # 刪除字典內所有元素
2⃣️dict.copy() # 返回一個字典的淺複製
3⃣️dict.fromkeys(seq, [,vlaue]) # 創建一個新字典,以序列seq中元素做字典的鍵,val爲字典所有鍵對應的初始值。
4⃣️dict.get(key, default=None) # 返回指定鍵的值,如果值不再字典中返回default值
5⃣️key in dict # 如果鍵在字典dict裏返回True,否則返回False
6⃣️dict.items() # 以列表返回可遍歷的(鍵、值)元組數組
7⃣️dict.keys() # 返回一個迭代器,可以使用list()來轉換爲列表
8⃣️dict.update(dict2) # 把字典dict2的鍵/值對更新到dict裏。(合併)
9⃣️dict.setdefault(key, default=None) # 和get()類似,但如果鍵不存在於字典中,將會添加鍵並將值設置爲default。
🔟dict.value() # 返回一個迭代器,可以使用list(),轉換成列表
1⃣️1⃣️ dict.pop(key,[,default]) # pop()方法刪除字典給定鍵key所對應的值,返回值爲被刪除的值。key值必須給出。如果key值沒有給出,要給一個默認值,不然沒有key值,也沒有默認值,會報錯!!!
1⃣️2⃣️dict.popitem() # 隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對)。因爲字典是無序的,所以說是隨機刪除!!!
五、遍歷字典
遍歷字典:
for item in my_dict:
print(item)
取出的是該字典的鍵
自帶函數items() 可以同時取出鍵與值
for key, value in my_dict.items():
print(key,value)
for item in my_dict.items();
print(item) # 這樣取值的話,返回的就是一個元組,裏面包含兩個元素,第一個是鍵,第二個爲值