Python 字典詳解

什麼是字典?

字典在 Python 中是一個無序的數據集合,字典使用鍵值對進行存儲。

Dict = {'key':'value'}

創建字典

  • 直接賦值,使用花括號 { }
  • 使用 Dict函數 創建空字典

1. 直接賦值

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
print(Dict)
print(type(Dict))
 
>>> {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
>>> <class 'dict'>

2. 使用 dict()函數創建空字典

Dict = dict()
print(Dict)
print(type(Dict))
 
>>> {}
>>> <class 'dict'>

3. 獲取字典元素

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
print(Dict['察查司'])
 
>>> 陸之道

4. 唯一的鍵,如果字典中有倆個或多個相同的鍵,默認取最後一個

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '罰惡司': '李鬼'}
print(Dict['罰惡司'])
 
>>> 李鬼

小結:

  • 字典由鍵(key)和值(value)組成。
  • 創建可以使用花括號,也可以使用 dict 函數,元素之間用逗號隔開,鍵值之間使用冒號隔開。
  • 註:鍵(key)必須是不可變類型,比如數字,字符串,而值(value)隨意。
  • 字典元素使用鍵(key)來獲取。
  • 鍵是唯一的,盡量不要相同。

字典的增

Dict[鍵] = '值'
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Dict['居民'] = '繪夢獅'
print(Dict)
 
>>> {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '居民': '繪夢獅'}

字典的改 

方法 描述
直接修改 直接修改,方法跟增差不多
update 將字典元素添加到另一個字典中,如果被添加字典已有該元素則修改,否則增加
Dict[鍵] = '值'
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
# 如果字典中已存在該鍵則修改對應的值,否則增加
Dict['罰惡司'] = '繪夢獅'
print(Dict)
 
>>> {'賞善司': '魏征', '罰惡司': '繪夢獅', '察查司': '陸之道', '陰律司': '崔玨'}

2. 使用 update 方

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Dict2 = {'天師': '鐘馗', '罰惡司': '天師鐘馗'}
Dict.update(Dict2)
print(Dict)
 
>>> {'賞善司': '魏征', '罰惡司': '天師鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '天師': '鐘馗'}

字典的刪

方法 描述
del 刪除某個元素,或刪除整個字典
pop 刪除某個元素
popitme 刪除字典中最後一個元素
clear 清空字典

1. del 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
# 刪除某個元素根據鍵
del Dict['罰惡司']
 
# 刪除整個字典
# del Dict
 
print(Dict)
 
>>> {'賞善司': '魏征', '察查司': '陸之道', '陰律司': '崔玨'}

2. pop 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Dict.pop('賞善司')
print(Dict)
 
>>> {'罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}

3. popitme 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Dict.popitem()
print(Dict)
 
>>> {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道'}

4. clear 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Dict.clear()
print(Dict)
 
# 因為字典被清空瞭
>>> {}

字典的查

方法 描述
in 判斷元素是否在字典中,返回值為 Bool
not in 與 in 相反

因為這是通用方法,前面已經說瞭很多次,現在就跳過瞭。

字典取值

方法 描述
keys

獲取字典中的鍵,返回一個迭代

values 獲取字典中的值,返回一個迭代
items 獲取字典的鍵值,返回一個迭代

1. keys 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Key = Dict.keys()
print(Key)
 
# 對於迭代對象我們可以遍歷它,或者將它轉化為列表進行操作
>>> dict_keys(['賞善司', '罰惡司', '察查司', '陰律司'])

2. values 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Value = Dict.values()
print(Value)
 
# 對於迭代對象我們可以遍歷它,或者將它轉化為列表進行操作
>>> dict_values(['魏征', '鐘馗', '陸之道', '崔玨'])

3. items 方法

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
Item = Dict.items()
print(Item)
 
# 對於迭代對象我們可以遍歷它,或者將它轉化為列表進行操作
>>> dict_items([('賞善司', '魏征'), ('罰惡司', '鐘馗'), ('察查司', '陸之道'), ('陰律司', '崔玨')])

字典復制

 老樣子使用 copy 函數

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
copy_Dict = Dict.copy()
Dict.clear()
print(Dict)
print(copy_Dict)
 
>>> {}  
>>> {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}

遍歷字典

  • 遍歷 key
  • 遍歷 value
  • 遍歷 item
  • 遍歷 key – value

1. 遍歷 key

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
for i in Dict.keys():
    print(i)
 
 
>>> 賞善司
    罰惡司
    察查司
    陰律司

2. 遍歷 value

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
for i in Dict.values():
    print(i)
 
>>> 魏征
    鐘馗
    陸之道
    崔玨

3. 遍歷 item

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
for i in Dict.items():
    print(i)
 
>>> ('賞善司', '魏征')
    ('罰惡司', '鐘馗')
    ('察查司', '陸之道')
    ('陰律司', '崔玨')

4. 遍歷 key與 value

Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'}
for key, value in Dict.items():
    print(key, value)
 
>>> 賞善司 魏征
    罰惡司 鐘馗
    察查司 陸之道
    陰律司 崔玨

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: