Python 字典詳解
什么是字典?
字典在 Python 中是一個無序的數(shù)據(jù)集合,字典使用鍵值對進行存儲。
Dict = {'key':'value'}
創(chuàng)建字典
- 直接賦值,使用花括號 { }
- 使用 Dict函數(shù) 創(chuàng)建空字典
1. 直接賦值
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} print(Dict) print(type(Dict)) >>> {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} >>> <class 'dict'>
2. 使用 dict()函數(shù)創(chuàng)建空字典
Dict = dict() print(Dict) print(type(Dict)) >>> {} >>> <class 'dict'>
3. 獲取字典元素
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} print(Dict['察查司']) >>> 陸之道
4. 唯一的鍵,如果字典中有倆個或多個相同的鍵,默認取最后一個
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '罰惡司': '李鬼'} print(Dict['罰惡司']) >>> 李鬼
小結:
- 字典由鍵(key)和值(value)組成。
- 創(chuàng)建可以使用花括號,也可以使用 dict 函數(shù),元素之間用逗號隔開,鍵值之間使用冒號隔開。
- 注:鍵(key)必須是不可變類型,比如數(shù)字,字符串,而值(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 = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} # 刪除某個元素根據(jù)鍵 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 相反 |
因為這是通用方法,前面已經(jīng)說了很多次,現(xiàn)在就跳過了。
字典取值
方法 | 描述 |
keys |
獲取字典中的鍵,返回一個迭代 |
values | 獲取字典中的值,返回一個迭代 |
items | 獲取字典的鍵值,返回一個迭代 |
1. keys 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Key = Dict.keys() print(Key) # 對于迭代對象我們可以遍歷它,或者將它轉(zhuǎn)化為列表進行操作 >>> dict_keys(['賞善司', '罰惡司', '察查司', '陰律司'])
2. values 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Value = Dict.values() print(Value) # 對于迭代對象我們可以遍歷它,或者將它轉(zhuǎn)化為列表進行操作 >>> dict_values(['魏征', '鐘馗', '陸之道', '崔玨'])
3. items 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Item = Dict.items() print(Item) # 對于迭代對象我們可以遍歷它,或者將它轉(zhuǎn)化為列表進行操作 >>> dict_items([('賞善司', '魏征'), ('罰惡司', '鐘馗'), ('察查司', '陸之道'), ('陰律司', '崔玨')])
字典復制
老樣子使用 copy 函數(shù)
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) >>> 賞善司 魏征 罰惡司 鐘馗 察查司 陸之道 陰律司 崔玨
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!
相關文章
python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細使用方法
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細使用方法,需要的朋友可以參考下2020-02-02nx.adjacency_matrix計算鄰接矩陣與真實結果不一致的解決
這篇文章主要介紹了nx.adjacency_matrix計算鄰接矩陣與真實結果不一致的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Python+OpenCV實戰(zhàn)之拖拽虛擬方塊的實現(xiàn)
這篇文章主要介紹了如何利用Python+OpenCV實現(xiàn)拖拽虛擬方塊的效果,即根據(jù)手指坐標位置和矩形的坐標位置,判斷手指點是否在矩形上,如果在則矩形跟隨手指移動,感興趣的可以了解一下2022-08-08pandas.concat實現(xiàn)DataFrame豎著拼接、橫著拼接方式
這篇文章主要介紹了pandas.concat實現(xiàn)DataFrame豎著拼接、橫著拼接方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10Python實現(xiàn)wav和pcm的轉(zhuǎn)換方式
這篇文章主要介紹了Python實現(xiàn)wav和pcm的轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05