當我們查字典時,會先找到想查詢的單字在字典裡的位置,才能在那個位置找到單字的定義;在Python中,也有一個類似的資料結構稱作字典,字典的鍵(key)就對應到我們要查詢的單字,字典的值(value)則是該單字的定義。字典的鍵通常可以是數值或字串,字典的值可以是任何一種Python的資料類型,例如數值、字串、串列、甚至是字典等等。
字典
字典的基本結構如下:
dictionary = { key1: value1, key2: value2, key3: value3, ... }
因此,若要定義一個儲存台灣直轄市人口[1]的字典,我們可以這樣寫:
cities_dict = {"台北": 2531659, "新北": 4011586, "桃園": 2272452, "台中": 2814422, "台南": 1863435, "高雄": 2746939}
print(cities_dict)
可得到結果:
{'台北': 2531659, '新北': 4011586, '桃園': 2272452, '台中': 2814422, '台南': 1863435, '高雄': 2746939}
讀取字典元素
不同於串列是以索引值來取出串列的內容,是由索引值為0, 1, 2, ...依序排列的資料結構,字典只能利用鍵來取出內容,屬於非序列的資料結構。
例如以下的串列,我們可以用索引值0來取得串列中的第一個元素cities_list[0]。
cities_list = ["台北", "新北", "桃園", "台中", "台南", "高雄"]
print(cities_list[0])
而字典的第一個值則必須由它的鍵"台北"來取出。
cities_dict = {"台北": 2531659, "新北": 4011586, "桃園": 2272452, "台中": 2814422, "台南": 1863435, "高雄": 2746939}
print(cities_dict["台北"])
修改字典元素
可利用字典的鍵來修改對應值的內容,例如:
cities_dict["台北"] = 2530000
print(cities_dict)
執行結果:
{'台北': 2530000, '新北': 4011586, '桃園': 2272452, '台中': 2814422, '台南': 1863435, '高雄': 2746939}
增加字典元素
若有新的鍵值對,可直接透過如同修改字典元素的方式新增,例如我們想要新增新竹市的人口:
cities_dict["新竹"] = 452665
print(cities_dict)
結果如下,新增的鍵值對會被放在字典的最後方:
{'台北': 2530000, '新北': 4011586, '桃園': 2272452, '台中': 2814422, '台南': 1863435, '高雄': 2746939, '新竹': 452665}
刪除字典元素
有以下幾種方式:
- 使用del將字典中指定的元素刪除。例如我們把剛剛新增的新竹刪除:
del cities_dict["新竹"]
print(cities_dict)
執行結果:
{'台北': 2530000, '新北': 4011586, '桃園': 2272452, '台中': 2814422, '台南': 1863435, '高雄': 2746939}
- 使用pop()將字典中指定的鍵所對應的元素刪除,並回傳該元素的值。例如我們把高雄也刪除,並用del_key來接收回傳的值:
del_key = cities_dict.pop("高雄")
print(del_key)
print(cities_dict)
可得到以下結果,del_key接收了原本高雄的人口數2746939,並把該鍵值對刪除:
2746939
{'台北': 2530000, '新北': 4011586, '桃園': 2272452, '台中': 2814422, '台南': 1863435}
程式範例