Python 字典詳解
什么是字典?
字典在 Python 中是一個(gè)無(wú)序的數(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)隔開(kāi),鍵值之間使用冒號(hào)隔開(kāi)。
- 注:鍵(key)必須是不可變類(lèi)型,比如數(shù)字,字符串,而值(value)隨意。
- 字典元素使用鍵(key)來(lái)獲取。
- 鍵是唯一的,盡量不要相同。
字典的增
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)說(shuō)了很多次,現(xiàn)在就跳過(guò)了。
字典取值
| 方法 | 描述 |
| 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é)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信