Python3數(shù)據(jù)類型-字典-04
4.1 什么是字典(dict)?
字典同樣是一種容納多個元素的容器,在很多方面和列表類似。但是,不同的一點是,字典不是以位置來索引的。
字典包含多個元素,每個元素以,分隔開,每個元素包含兩部分:鍵(Key)和值(Value),鍵(Key)和值(Value)之間用冒號:分隔開。所有元素用大括號{}擴(kuò)起來。
字典元素的索引正是依靠元素的鍵(Key)實現(xiàn)的。
字典元素的鍵(Key)必須是唯一的,值則不需要唯一。
d = {key1 : value1, key2 : value2 }
值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。
4.2 構(gòu)建一個字典
dict_score = {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 87}
dict1 = {28.5: 36}
dict2 = {'abc': 12, 'ghi': 16}
print(dict_score)
print(dict1)
print(dict2)
輸出結(jié)果為:
dict_score = {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 87}
dict1 = {28.5: 36, 16.7: 74}
dict2 = {'abc': 12, 'ghi': 16}
4.3 字典的訪問
字典的訪問是通過鍵來實現(xiàn)的,例如:
print(dict_score['Leo'])
print(dict1[16.7])
print(dict2['ghi'])
輸出結(jié)果為:
92
74
16
4.4 字典修改和刪除
前面提到,字典是一種可變的數(shù)據(jù)類型,那么我們就可以對其進(jìn)行修改或者刪除。
字典的修改:包括對字典已有的值的重新復(fù)制以及增加一組鍵和值。
# 下面演示一下對字典進(jìn)行修改
dict_score['Chris'] = 95
dict_score['Steve'] = 89
dict1[28.5] = 12
dict2['abc'] = 8
print(dict_score)
print(dict1)
print(dict2)
輸出結(jié)果如下:
{'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 95, 'Steve': 89}
{28.5: 12, 16.7: 74}
{'abc': 8, 'ghi': 16}
字典的刪除:包括對已有值的刪除del和對整個字典的清空clear。
# 下面演示一下字典的刪除
del dict_score['Tim']
dict1.clear()
# del dict2
print(dict_score)
print(dict1)
print(dict2)
輸出結(jié)果如下:
{'Smith': 90, 'Leo': 92, 'Chris': 95, 'Steve': 89}
{}
{'abc': 8, 'ghi': 16}
需要注意的是,對整個字典執(zhí)行del命令之后,系統(tǒng)將整個字典從內(nèi)存中刪除,刪除后在執(zhí)行print命令,系統(tǒng)會報錯,提示未定義。
clear命令只是清空了這個字典中的所有鍵及值,但是字典本身還存在于系統(tǒng)內(nèi)。
4.5 字典內(nèi)置函數(shù)
主要的內(nèi)置函數(shù):
len(dict) —— 字典的長度,即鍵的總數(shù)
str(dict) —— 輸出字典,以可打印的字符串表示
type(dict) —— 返回字典的類型
4.6 小結(jié)
這一節(jié)我學(xué)習(xí)了字典的一些基礎(chǔ)知識,一些字典內(nèi)置方法我沒有繼續(xù)學(xué)習(xí),我將在今后具體應(yīng)用過程中再來學(xué)習(xí)和加深。
下一節(jié)我將學(xué)習(xí)一下集合。