- 1 建立字典
- 2 取得值
- 3 新增新元素
- 4 輸出: {‘apple’: ‘蘋果’, ‘banana’: ‘香蕉’, ‘cherry’: ‘櫻桃’, ‘orange’: ‘橘子’}
- 5 輸出: {‘apple’: ‘蘋果’, ‘banana’: ‘香蕉果汁’, ‘cherry’: ‘櫻桃’, ‘orange’: ‘橘子’}
- 6 輸出: {‘apple’: ‘蘋果’, ‘banana’: ‘香蕉果汁’, ‘cherry’: ‘櫻桃’, ‘orange’: ‘橘子’, ‘grape’: ‘葡萄’}
- 7 輸出: {‘a’: 1, ‘b’: 3, ‘c’: 4}
- 8 輸出: {‘a’: 1, ‘b’: 2, ‘c’: 4}
- 9 輸出: {‘banana’: 150, ‘cherry’: 200}
- 10 輸出: 鍵不存在
1. 什麼是 Python 的字典(Dictionary)
Python 的字典(Dictionary)是一種儲存鍵值對(key-value pair)的資料型別,可用來高效地管理資料。與列表(List)或元組(Tuple)不同,字典不保留順序,但可以透過鍵快速取得對應的值,是 Python 程式中經常使用的資料型別之一。
字典的基本特性
- 鍵值對:字典是由唯一的鍵(key)和其對應的值(value)組成。鍵必須是不可變的型別(例如字串、數字等),而值可以是任何型別。
- 無順序性:Python 的字典不保留元素的插入順序,因此透過指定鍵來查找對應的值。
- 快速查值:可以使用鍵快速取得對應的值。
建立字典的範例
以下範例展示了如何建立一個字典,以及使用鍵來取得對應的值。
“`
建立字典
my_dict = {
“apple”: “蘋果”,
“banana”: “香蕉”,
“cherry”: “櫻桃”
}
取得值
print(my_dict[“apple”]) # 輸出: 蘋果
“`
2. 基本的 Python 字典新增元素方法
在 Python 中,若要向現有的字典新增元素,可以使用簡單的賦值語法。這種方式對初學者來說非常直觀且容易理解。
新增元素的基本語法
要在字典中新增新元素,可以使用以下語法:
“`
新增新元素
my_dict[“orange”] = “橘子”
print(my_dict)
輸出: {‘apple’: ‘蘋果’, ‘banana’: ‘香蕉’, ‘cherry’: ‘櫻桃’, ‘orange’: ‘橘子’}
“`
當指定的鍵尚未存在時,這種方式會新增新元素。不過需要注意的是,如果使用已存在的鍵,原本的值將會被覆蓋。
使用相同鍵時會覆蓋原本的值
如果使用已存在的鍵來新增值,該鍵對應的值將會被新的值所取代。
“`
my_dict[“banana”] = “香蕉果汁”
print(my_dict)
輸出: {‘apple’: ‘蘋果’, ‘banana’: ‘香蕉果汁’, ‘cherry’: ‘櫻桃’, ‘orange’: ‘橘子’}
“`
如上所示,已存在的鍵 "banana"
對應的值被更新為新的值,原本的資料被覆蓋。

3. 避免覆蓋現有值的新增方式
如果你想避免覆蓋字典中已有的值,可以使用 setdefault()
方法。這個方法只有在指定的鍵不存在於字典中時,才會新增元素,因此可以避免不小心覆蓋現有資料。
setdefault()
的使用範例
以下的程式碼展示如何使用 setdefault()
方法,在不覆蓋原有值的情況下新增新元素。
“`
my_dict.setdefault(“banana”, “香蕉冰沙”)
my_dict.setdefault(“grape”, “葡萄”)
print(my_dict)
輸出: {‘apple’: ‘蘋果’, ‘banana’: ‘香蕉果汁’, ‘cherry’: ‘櫻桃’, ‘orange’: ‘橘子’, ‘grape’: ‘葡萄’}
“`
在這個例子中,鍵 "banana"
已經存在,因此其值不會被覆蓋。而新鍵 "grape"
則會被新增到字典中。
4. 合併多個字典以新增元素的方法
若要將多個字典合併成一個,可以使用 update()
方法。透過這種方式,可以一次性將另一個字典的所有元素新增進來,非常適合用來有效地管理資料。
update()
方法的使用範例
以下是使用 update()
方法合併兩個字典的範例:
“`
dict1 = {“a”: 1, “b”: 2}
dict2 = {“b”: 3, “c”: 4}
dict1.update(dict2)
print(dict1)
輸出: {‘a’: 1, ‘b’: 3, ‘c’: 4}
“`
在這個例子中,兩個字典中都有鍵 "b"
,因此 dict1
的值會被 dict2
的值所覆蓋。而新的鍵 "c"
則會被新增進 dict1
。
避免覆蓋的方法
若希望在合併字典時避免覆蓋現有值,可以搭配 setdefault()
方法與 for 迴圈來實現。
“`
for key, value in dict2.items():
dict1.setdefault(key, value)
print(dict1)
輸出: {‘a’: 1, ‘b’: 2, ‘c’: 4}
“`

5. 進階技巧:根據條件新增元素
在實際開發中,有時需要根據特定條件來決定是否將某個元素新增至字典。例如,只有符合某些條件的資料才需要被加入。這種情況下可以使用 if
條件判斷或 for
迴圈來動態新增元素。
根據條件新增元素的範例
以下程式碼示範如何根據價格條件,只將符合條件的水果新增至字典中:
“`
items = [(“apple”, 100), (“banana”, 150), (“cherry”, 200)]fruit_dict = {}
for fruit, price in items:
if price > 120:
fruit_dict[fruit] = price
print(fruit_dict)
輸出: {‘banana’: 150, ‘cherry’: 200}
“`
在這個例子中,只有價格超過 120 的水果才會被加入到字典中。透過條件式的方式,可以更靈活地控制要加入哪些資料。
6. 操作字典時的錯誤處理
在操作字典時,最常見的錯誤之一是 KeyError
。當你嘗試存取一個不存在於字典中的鍵時,便會發生這個錯誤。為了避免這類錯誤,建議先檢查鍵是否存在,或使用 get()
方法來安全地取得值。
避免 KeyError
的方法
以下範例示範如何使用 get()
方法,當鍵不存在時回傳預設值,從而避免錯誤發生:
“`
value = my_dict.get(“pear”, “鍵不存在”)
print(value)
輸出: 鍵不存在
“`
如上所示,即使 "pear"
這個鍵不在字典中,也不會發生錯誤,而是回傳我們自定義的預設值。
7. 總結:字典新增元素的最佳實踐
Python 的字典新增元素方式多種多樣,從簡單賦值到條件式新增,再到合併多個字典,每種方法都有其適用情境。以下整理幾個重點,幫助你更有效地使用字典:
- 基本新增:使用
[鍵] = 值
方式快速新增元素。 - 避免覆蓋:使用
setdefault()
方法避免意外覆寫原有資料。 - 合併字典:透過
update()
方法一次新增多個元素。 - 錯誤處理:使用
get()
或先檢查鍵是否存在,以避免KeyError
。
靈活運用這些技巧,可以讓你在處理 Python 字典時更加順手且穩定。