把「名稱」對應到「資料」,你就需要字典(Dictionary)。
它是 Python 最好用的「查表」結構:用鍵快速找到值,很適合做選單與價格、設定參數、API/JSON 資料、統計彙整等日常工作。
字典的鍵必須唯一、可作修改(新增/更新/刪除),用起來直觀又高效。
什麼是字典(Dictionary)?
字典是 Python 中的一種資料結構,用於存儲鍵值對(key-value pairs)。它提供了一種將不同資料映射到一起的方式,使我們能夠快速找到相關聯的值。
無序性
字典中的項目沒有特定順序
鍵的唯一性
每個鍵在字典中只能出現一次
可變性
可以添加、修改或刪除字典中的項目
字典使用大括號 { }
創建,每個項目由一個鍵和一個值組成,中間用冒號 :
分隔,不同項目之間用逗號 ,
分隔。

字典的實際應用場景
想象一下,我們需要存儲咖啡館菜單上不同食品的價格:
menu = {
"酪梨吐司": 6,
"胡蘿蔔汁": 5,
"藍莓鬆餅": 2
}
在這個例子中:
- 字典以大括號
{ }
開始和結束 - 每個項目由一個鍵(如 “酪梨吐司”)和一個值(如 6)組成
- 每個鍵值對之間用逗號分隔
通過這種結構,我們可以輕鬆地查找任何菜品的價格。
創建字典的多種方式
直接賦值
person = {"name": "小明", "age": 18}
空字典
empty_dict = {}
使用 dict() 函數
colors = dict(red="紅色", blue="藍色")
字典的靈活性
字典的值可以是任何資料類型,包括數字、字符串、列表,甚至是另一個字典!
student = {
"name": "小花",
"age": 16,
"scores": [95, 88, 92],
"contact": {"phone": "0912345678", "email": "xiaohua@example.com"}
}
字典的鍵的限制
並非所有資料類型都可以作為字典的鍵。字典的鍵必須是不可變(immutable)的資料類型。
可用作鍵的類型
- 字符串(string)
- 數字(int, float)
- 元組(tuple)- 如果其中包含的所有元素也是不可變的
- 布爾值(bool)
不可用作鍵的類型
- 列表(list)
- 字典(dict)
- 集合(set)
- 任何可變的對象
如果嘗試使用 mutable 的類型(如列表)作為鍵,Python 會拋出 TypeError: unhashable type
錯誤!
# 這段代碼會產生錯誤
powers = {[1, 2, 4, 8, 16]: 2, [1, 3, 9, 27, 81]: 3}
# TypeError: unhashable type: 'list'
訪問字典中的值
一旦創建了字典,我們可以使用鍵來訪問對應的值。有兩種主要方式可以訪問字典中的值:
使用中括號 [ ]
building_heights = {"台北101": 508, "上海中心": 632, "哈里發塔": 828}
print(building_heights["台北101"]) # 輸出: 508
使用 get() 方法
height = building_heights.get("台北101") # 返回 508
兩者的主要區別在於處理不存在的鍵的方式:
- 中括號語法:如果鍵不存在,會拋出
KeyError
錯誤 get()
方法:如果鍵不存在,默認返回None
,不會產生錯誤

向字典添加元素
使用索引賦值的方式:
menu = {"酪梨吐司": 6, "胡蘿蔔汁": 5, "藍莓鬆餅": 2}
menu["起司蛋糕"] = 8
# 現在 menu 為 {"酪梨吐司": 6, "胡蘿蔔汁": 5, "藍莓鬆餅": 2, "起司蛋糕": 8}
添加多個鍵值對
使用 update()
方法:
sensors = {"客廳": 21, "廚房": 23, "臥室": 20}
sensors.update({"儲藏室": 22, "客房": 25, "露台": 34})
# 現在 sensors 包含了所有六個房間的溫度
更新字典中的值
更新字典中已存在的鍵的值與添加新的鍵值對的語法相同:
menu = {"燕麥粥": 3, "酪梨吐司": 6, "胡蘿蔔汁": 5, "藍莓鬆餅": 2}
menu["燕麥粥"] = 5
# 現在 menu 為 {"燕麥粥": 5, "酪梨吐司": 6, "胡蘿蔔汁": 5, "藍莓鬆餅": 2}
添加新鍵
如果指定的鍵不存在,Python 會創建一個新的鍵值對
更新現有鍵
如果指定的鍵已存在,Python 會覆蓋原有的值
這種一致的語法使得字典操作更加直觀和簡潔,無需記住不同的添加和更新方法。

刪除字典中的元素
Python 提供了幾種從字典中刪除元素的方法:
使用 pop() 方法
raffle = {223842: "泰迪熊", 872921: "音樂會門票"}
prize = raffle.pop(223842, "沒有獎品")
# prize 為 "泰迪熊",且該項從字典中移除
同時返回值並從字典中刪除該項
使用 del 關鍵字
menu = {"燕麥粥": 5, "酪梨吐司": 6}
del menu["燕麥粥"]
# 現在 menu 只包含 {"酪梨吐司": 6}
直接刪除,不返回值
使用 clear() 方法
menu.clear()
# 清空整個字典,現在 menu 為 {}
刪除字典中的所有項目
到這裡,我們已經掌握了 字典的基礎操作:如何建立字典、添加與更新元素、存取值、以及刪除資料。這些技巧足以應付大部分日常的 Python 開發情境。