由于字典屬于可變序列,所以我們可以任意操作字典中的鍵值對(duì)(key-value 對(duì))。Python 中,常見的字典操作有以下幾種:
-
向現(xiàn)有字典中添加新的鍵值對(duì)。
-
修改現(xiàn)有字典中的鍵值對(duì)。
-
從現(xiàn)有字典中刪除指定的鍵值對(duì)。
-
判斷現(xiàn)有字典中是否存在指定的鍵值對(duì)。
初學(xué)者要牢記,字典中常常包含多個(gè)鍵值對(duì),而 key 是字典的關(guān)鍵數(shù)據(jù),字典的基本操作都是圍繞 key 值實(shí)現(xiàn)的。
Python字典添加鍵值對(duì)
如果要為 dict 添加鍵值對(duì),只需為不存在的 key 賦值即可。實(shí)現(xiàn)此操作的語法格式如下:
dict[key] = value
此格式中,各個(gè)參數(shù)的含義如表 1 所示。
表 1 Python 字典添加鍵值對(duì)語法參數(shù)
參數(shù) |
含義 |
dict |
表示字典名稱。 |
key |
表示要添加元素的鍵。注意,既然是添加新的元素,那么就要保證此元素的鍵和字典中現(xiàn)有元素的鍵互不相同。 |
value |
表示要添加數(shù)據(jù)的值,只要是 Python 支持的數(shù)據(jù)類型就可以。 |
例如,下面代碼演示了在現(xiàn)有字典 a 的基礎(chǔ)上,添加新元素的過程:
- a = {'數(shù)學(xué)':95}
- print(a)
- #添加新鍵值對(duì)
- a['語文'] = 89
- print(a)
- #再次添加新鍵值對(duì)
- a['英語'] = 90
- print(a)
運(yùn)行結(jié)果為:
{'數(shù)學(xué)': 95}
{'數(shù)學(xué)': 95, '語文': 89}
{'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
Python字典修改鍵值對(duì)
“修改鍵值對(duì)”并不是同時(shí)修改某一鍵值對(duì)的鍵和值,而只是修改某一鍵值對(duì)中的值。
由于在字典中,各元素的鍵必須是唯一的,因此,如果新添加元素的鍵與已存在元素的鍵相同,原來鍵所對(duì)應(yīng)的值就會(huì)被新的值替換掉。例如:
- a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
- a['語文']=100
- print(a)
運(yùn)行結(jié)果為:
{'數(shù)學(xué)': 95, '語文': 100, '英語': 90}
可以看到,字典中沒有再添加一個(gè) {'語文':100} 鍵值對(duì),而是對(duì)原有鍵值對(duì) {'語文': 89} 中的值做了修改。
Python字典刪除鍵值對(duì)
如果要?jiǎng)h除字典中的鍵值對(duì),還是可以使用 del 語句。例如:
- # 使用del語句刪除鍵值對(duì)
- a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
- del a['語文']
- del a['數(shù)學(xué)']
- print(a)
運(yùn)行結(jié)果為:
{'英語': 90}
判斷字典中是否存在指定鍵值對(duì)
如果要判斷字典中是否存在指定鍵值對(duì),首先應(yīng)判斷字典中是否有對(duì)應(yīng)的鍵。判斷字典是否包含指定鍵值對(duì)的鍵,可以使用 in 或 not in 運(yùn)算符。
需要指出的是,對(duì)于 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)有字典中是否包含某個(gè)鍵,如果存在,由于通過鍵可以很輕易的獲取對(duì)應(yīng)的值,因此很容易就能判斷出字典中是否有指定的鍵值對(duì)。
|