詳解如何修改python中字典的鍵和值
我們知道python中字典是無序的,它們都是通過hash去對應(yīng)的。一般的如果我們需要修改字典的值,只需要直接覆蓋即可,而修改字典的鍵,則需要使用字典自帶的pop函數(shù),示例如下:
t = {}
t['a'] = 1
t['b'] = 2
# 修改字典的值
print('未修改前:', t)
t['b'] = 3
print('修改后: ', t)
# 修改字典的鍵
print('-' * 30)
print('未修改前:', t)
t['c'] = t.pop('a')
print('修改后: ', t)
"""
輸出如下:
未修改前: {'a': 1, 'b': 2}
修改后: {'a': 1, 'b': 3}
------------------------------
未修改前: {'a': 1, 'b': 3}
修改后: {'b': 3, 'c': 1}
"""
Python dict字典基本操作(包括添加、修改、刪除鍵值對)
由于字典屬于可變序列,所以我們可以任意操作字典中的鍵值對(key-value 對)。Python 中,常見的字典操作有以下幾種:
1.向現(xiàn)有字典中添加新的鍵值對。
2.修改現(xiàn)有字典中的鍵值對。
3.從現(xiàn)有字典中刪除指定的鍵值對。
4.判斷現(xiàn)有字典中是否存在指定的鍵值對。
初學(xué)者要牢記,字典中常常包含多個鍵值對,而 key 是字典的關(guān)鍵數(shù)據(jù),字典的基本操作都是圍繞 key 值實(shí)現(xiàn)的。
Python字典添加鍵值對
如果要為 dict 添加鍵值對,只需為不存在的 key 賦值即可。實(shí)現(xiàn)此操作的語法格式如下:
dict[key] = value
此格式中,各個參數(shù)的含義如表 1 所示。
表 1 Python 字典添加鍵值對語法參數(shù)
| 參數(shù) | 含義 |
|---|---|
| dict | 表示字典名稱。 |
| key | 表示要添加元素的鍵。注意,既然是添加新的元素,那么就要保證此元素的鍵和字典中現(xiàn)有元素的鍵互不相同。 |
| value | 表示要添加數(shù)據(jù)的值,只要是 Python 支持的數(shù)據(jù)類型就可以。 |
例如,下面代碼演示了在現(xiàn)有字典 a 的基礎(chǔ)上,添加新元素的過程:
a = {'數(shù)學(xué)':95}
print(a)
#添加新鍵值對
a['語文'] = 89
print(a)
#再次添加新鍵值對
a['英語'] = 90
print(a)
運(yùn)行結(jié)果為:
{'數(shù)學(xué)': 95}
{'數(shù)學(xué)': 95, '語文': 89}
{'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
Python字典修改鍵值對
“修改鍵值對”并不是同時修改某一鍵值對的鍵和值,而只是修改某一鍵值對中的值。
由于在字典中,各元素的鍵必須是唯一的,因此,如果新添加元素的鍵與已存在元素的鍵相同,原來鍵所對應(yīng)的值就會被新的值替換掉。例如:
a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
a['語文']=100
print(a)
運(yùn)行結(jié)果為:
{'數(shù)學(xué)': 95, '語文': 100, '英語': 90}
可以看到,字典中沒有再添加一個 {'語文':100} 鍵值對,而是對原有鍵值對 {'語文': 89} 中的值做了修改。
Python字典刪除鍵值對
如果要刪除字典中的鍵值對,還是可以使用 del 語句。例如:
# 使用del語句刪除鍵值對
a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
del a['語文']
del a['數(shù)學(xué)']
print(a)
運(yùn)行結(jié)果為:
{'英語': 90}
判斷字典中是否存在指定鍵值對
如果要判斷字典中是否存在指定鍵值對,首先應(yīng)判斷字典中是否有對應(yīng)的鍵。判斷字典是否包含指定鍵值對的鍵,可以使用 in 或 not in 運(yùn)算符。
需要指出的是,對于 dict 而言,in 或 not in 運(yùn)算符都是基于 key 來判斷的。
例如如下代碼:
a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
# 判斷 a 中是否包含名為'數(shù)學(xué)'的key
print('數(shù)學(xué)' in a) # True
# 判斷 a 是否包含名為'物理'的key
print('物理' in a) # False
運(yùn)行結(jié)果為:
True
False
通過 in(或 not in)運(yùn)算符,我們可以很輕易地判斷出現(xiàn)有字典中是否包含某個鍵,如果存在,由于通過鍵可以很輕易的獲取對應(yīng)的值,因此很容易就能判斷出字典中是否有指定的鍵值對。
到此這篇關(guān)于詳解如何修改python中字典的鍵和值的文章就介紹到這了,更多相關(guān)python修改字典鍵和值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python calendar日歷模塊的應(yīng)用案例演示
calendar模塊是python用來處理日歷的模塊,通過不同的api和格式輸出多種形式的日歷格式,下面就通過不同的api和參數(shù)來輸出和學(xué)習(xí)calendar模塊的用法2023-06-06
如何使用python3獲取當(dāng)前路徑及os.path.dirname的使用
這篇文章主要介紹了如何使用python3獲取當(dāng)前路徑及os.path.dirname的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12
Python設(shè)置Socket代理及實(shí)現(xiàn)遠(yuǎn)程攝像頭控制的例子
這篇文章主要介紹了Python設(shè)置Socket代理及實(shí)現(xiàn)遠(yuǎn)程攝像頭控制的例子,皆是對socket模塊的實(shí)際運(yùn)用,需要的朋友可以參考下2015-11-11
pandas DataFrame運(yùn)算的實(shí)現(xiàn)
這篇文章主要介紹了pandas DataFrame運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
這篇文章主要介紹了如何在 Python 中導(dǎo)入文本文件,在Python中導(dǎo)入文本文件是很常見的操作,我們可以使用內(nèi)置的open函數(shù)和with語句來讀取或?qū)懭胛谋疚募?,需要的朋友可以參考?/div> 2023-05-05
用Python下載一個網(wǎng)頁保存為本地的HTML文件實(shí)例
今天小編就為大家分享一篇用Python下載一個網(wǎng)頁保存為本地的HTML文件實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05最新評論

