Python 字典(Dictionary)

字典是一種可變容器模型,且可存儲任意類型對象。

字典的每一個鍵值 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) # 這樣取值的話,返回的就是一個元組,裏面包含兩個元素,第一個是鍵,第二個爲值 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章