由于字典屬于可變序列,所以我們可以任意操作字典中的鍵值對(key-value)。Python 中,常見的字典操作有以下幾種:
1、向現(xiàn)有字典中添加新的鍵值對。
2、修改現(xiàn)有字典中的鍵值對。
3、從現(xiàn)有字典中刪除指定的鍵值對。
4、判斷現(xiàn)有字典中是否存在指定的鍵值對。
初學(xué)者要牢記,字典是由一個一個的 key-value 構(gòu)成的,key 是找到數(shù)據(jù)的關(guān)鍵,Python 對字典的操作都是通過 key 來完成的。
Python字典添加鍵值對
為字典添加新的鍵值對很簡單,直接給不存在的 key 賦值即可,具體語法格式如下:
dictname[key] = value
對各個部分的說明:
1、dictname 表示字典名稱。
2、key 表示新的鍵。
3、value 表示新的值,只要是 Python 支持的數(shù)據(jù)類型都可以。
下面代碼演示了在現(xiàn)有字典基礎(chǔ)上添加新元素的過程:
a = {'數(shù)學(xué)':95}
print(a)
#添加新鍵值對
a['語文'] = 89
print(a)
#再次添加新鍵值對
a['英語'] = 90
print(a)
運行結(jié)果:
{'數(shù)學(xué)': 95}
{'數(shù)學(xué)': 95, '語文': 89}
{'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
Python字典修改鍵值對
Python 字典中鍵(key)的名字不能被修改,我們只能修改值(value)。
字典中各元素的鍵必須是唯一的,因此,如果新添加元素的鍵與已存在元素的鍵相同,那么鍵所對應(yīng)的值就會被新的值替換掉,以此達到修改元素值的目的。請看下面的代碼:
a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
print(a)
a['語文'] = 100
print(a)
運行結(jié)果:
{'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
{'數(shù)學(xué)': 95, '語文': 100, '英語': 90}
可以看到,字典中沒有再添加一個{'語文':100}
鍵值對,而是對原有鍵值對{'語文': 89}
中的 value 做了修改。
Python字典刪除鍵值對
如果要刪除字典中的鍵值對,還是可以使用 del 語句。例如:
# 使用del語句刪除鍵值對
a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
del a['語文']
del a['數(shù)學(xué)']
print(a)
運行結(jié)果為:
{'英語': 90}
判斷字典中是否存在指定鍵值對
如果要判斷字典中是否存在指定鍵值對,首先應(yīng)判斷字典中是否有對應(yīng)的鍵。判斷字典是否包含指定鍵值對的鍵,可以使用 in 或 not in 運算符。
需要指出的是,對于 dict 而言,in 或 not in 運算符都是基于 key 來判斷的。
例如如下代碼:
a = {'數(shù)學(xué)': 95, '語文': 89, '英語': 90}
# 判斷 a 中是否包含名為'數(shù)學(xué)'的key
print('數(shù)學(xué)' in a) # True
# 判斷 a 是否包含名為'物理'的key
print('物理' in a) # False
運行結(jié)果為:
True
False
通過 in(或 not in)運算符,我們可以很輕易地判斷出現(xiàn)有字典中是否包含某個鍵,如果存在,由于通過鍵可以很輕易的獲取對應(yīng)的值,因此很容易就能判斷出字典中是否有指定的鍵值對。