Python 字典詳解
什么是字典?
字典在 Python 中是一個(gè)無序的數(shù)據(jù)集合,字典使用鍵值對(duì)進(jìn)行存儲(chǔ)。
Dict = {'key':'value'}
創(chuàng)建字典
- 直接賦值,使用花括號(hào) { }
- 使用 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. 唯一的鍵,如果字典中有倆個(gè)或多個(gè)相同的鍵,默認(rèn)取最后一個(gè)
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '罰惡司': '李鬼'} print(Dict['罰惡司']) >>> 李鬼
小結(jié):
- 字典由鍵(key)和值(value)組成。
- 創(chuàng)建可以使用花括號(hào),也可以使用 dict 函數(shù),元素之間用逗號(hào)隔開,鍵值之間使用冒號(hào)隔開。
- 注:鍵(key)必須是不可變類型,比如數(shù)字,字符串,而值(value)隨意。
- 字典元素使用鍵(key)來獲取。
- 鍵是唯一的,盡量不要相同。
字典的增
Dict[鍵] = '值'
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Dict['居民'] = '繪夢(mèng)獅' print(Dict) >>> {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '居民': '繪夢(mèng)獅'}
字典的改
方法 | 描述 |
直接修改 | 直接修改,方法跟增差不多 |
update | 將字典元素添加到另一個(gè)字典中,如果被添加字典已有該元素則修改,否則增加 |
Dict[鍵] = '值'
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} # 如果字典中已存在該鍵則修改對(duì)應(yīng)的值,否則增加 Dict['罰惡司'] = '繪夢(mèng)獅' print(Dict) >>> {'賞善司': '魏征', '罰惡司': '繪夢(mèng)獅', '察查司': '陸之道', '陰律司': '崔玨'}
2. 使用 update 方
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Dict2 = {'天師': '鐘馗', '罰惡司': '天師鐘馗'} Dict.update(Dict2) print(Dict) >>> {'賞善司': '魏征', '罰惡司': '天師鐘馗', '察查司': '陸之道', '陰律司': '崔玨', '天師': '鐘馗'}
字典的刪
方法 | 描述 |
del | 刪除某個(gè)元素,或刪除整個(gè)字典 |
pop | 刪除某個(gè)元素 |
popitme | 刪除字典中最后一個(gè)元素 |
clear | 清空字典 |
1. del 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} # 刪除某個(gè)元素根據(jù)鍵 del Dict['罰惡司'] # 刪除整個(gè)字典 # 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) # 因?yàn)樽值浔磺蹇樟?>>> {}
字典的查
方法 | 描述 |
in | 判斷元素是否在字典中,返回值為 Bool |
not in | 與 in 相反 |
因?yàn)檫@是通用方法,前面已經(jīng)說了很多次,現(xiàn)在就跳過了。
字典取值
方法 | 描述 |
keys |
獲取字典中的鍵,返回一個(gè)迭代 |
values | 獲取字典中的值,返回一個(gè)迭代 |
items | 獲取字典的鍵值,返回一個(gè)迭代 |
1. keys 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Key = Dict.keys() print(Key) # 對(duì)于迭代對(duì)象我們可以遍歷它,或者將它轉(zhuǎn)化為列表進(jìn)行操作 >>> dict_keys(['賞善司', '罰惡司', '察查司', '陰律司'])
2.values 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Value = Dict.values() print(Value) # 對(duì)于迭代對(duì)象我們可以遍歷它,或者將它轉(zhuǎn)化為列表進(jìn)行操作 >>> dict_values(['魏征', '鐘馗', '陸之道', '崔玨'])
3. items 方法
Dict = {'賞善司': '魏征', '罰惡司': '鐘馗', '察查司': '陸之道', '陰律司': '崔玨'} Item = Dict.items() print(Item) # 對(duì)于迭代對(duì)象我們可以遍歷它,或者將它轉(zhuǎn)化為列表進(jìn)行操作 >>> dict_items([('賞善司', '魏征'), ('罰惡司', '鐘馗'), ('察查司', '陸之道'), ('陰律司', '崔玨')])
字典復(fù)制
老樣子使用 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) >>> 賞善司 魏征 罰惡司 鐘馗 察查司 陸之道 陰律司 崔玨
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。