1. Python 字典型(dict)的基礎
Python 的字典型(dict
)是一種由鍵值對(key-value pair)組成的資料結構,與列表(list)或元組(tuple)不同,它允許透過鍵來高效存取特定的資料。例如,在管理商品資訊或使用者資訊時,字典型資料結構非常實用。
字典型的基本操作
要建立字典,可以使用大括號 {}
,並以逗號分隔每個鍵值對。
my_dict = {"apple": 100, "banana": 200, "orange": 150}
例如,上述範例中,”apple” 作為鍵對應的值為 100。若要存取字典內的元素,可以使用鍵來查詢:
print(my_dict["apple"]) # 結果: 100
[]
方式存取鍵值
使用鍵來存取字典中的值時,若鍵不存在,則會拋出 KeyError
。
print(my_dict["grape"]) # KeyError: 'grape'
當發生這類錯誤時,程式將會中斷執行,因此需要適當的錯誤處理機制。
2. get 方法的基礎
get
方法是一個實用的函式,當鍵不存在時,它不會拋出 KeyError
,而是回傳 None
或預設值。這可以幫助程式避免錯誤,確保執行的安全性。
get
方法的使用方式
使用 get
方法時,若鍵存在,則會回傳對應的值;若鍵不存在,則回傳 None
。
my_dict = {"apple": 100, "banana": 200, "orange": 150}
# 當鍵存在
print(my_dict.get("apple")) # 100
# 當鍵不存在
print(my_dict.get("grape")) # None
設定預設值
get
方法允許指定當鍵不存在時的預設值,這使程式更加靈活。
print(my_dict.get("grape", 0)) # 結果: 0
透過設定預設值,可以確保程式不會因為缺少鍵值而發生意外錯誤,提升穩定性。

3. get 方法與 []
存取的差異
get
方法與 []
存取的主要差異在於錯誤處理方式。使用 []
存取時,若鍵不存在,會拋出 KeyError
;而 get
方法則會回傳 None
或預設值,避免錯誤發生。
錯誤處理的差異
以下範例展示 []
存取與 get
方法的不同之處。
my_dict = {"apple": 100, "banana": 200}
# 使用 [] 存取(可能會拋出錯誤)
try:
print(my_dict["grape"])
except KeyError:
print("鍵不存在")
# 使用 get 方法存取(安全)
print(my_dict.get("grape", "鍵不存在"))
使用 []
存取時,若鍵不存在,則需要使用 try-except
來處理錯誤;但 get
方法則能直接回傳預設值,讓程式更簡潔且避免錯誤發生。此外,get
方法只需執行一次存取,效能表現也較佳。
4. get 方法的應用範例
get
方法在實務應用中非常實用,特別是在處理 API 回應或使用者輸入時,能有效避免 KeyError
,確保程式的穩定性。
API 回應的處理
當從 API 接收資料時,某些鍵可能不存在,這時可以使用 get
方法來確保程式不會因為缺少資料而發生錯誤。
response = {"status": "success", "data": {"name": "Alice"}}
email = response.get("data", {}).get("email", "尚未註冊電子郵件")
print(email) # 結果: 尚未註冊電子郵件
此範例使用 get
方法來避免 KeyError
,即使 data
鍵不存在,也能安全存取 email
,並回傳預設訊息。
字典的初始化與計數
get
方法在處理計數或初始化字典時也非常有用。例如,當需要計算物品的出現次數時,可以使用 get
方法來簡化計算。
counts = {}
items = ["apple", "banana", "apple", "orange"]
for item in items:
counts[item] = counts.get(item, 0) + 1
print(counts) # {'apple': 2, 'banana': 1, 'orange': 1}
在此範例中,若鍵不存在,get
方法會回傳預設值 0
,從而確保計數功能正常運作,並避免 KeyError
。
5. 總結
Python 的 get
方法是處理字典時非常重要的工具,能夠簡化錯誤處理並提高程式的可讀性與穩定性。特別是在處理外部資料(如 API 回應)或使用者輸入時,使用 get
方法可以有效避免 KeyError
,並允許設定預設值來確保程式正常運行。
以下是 get
方法的主要優勢:
- 避免
KeyError
,提高程式的健壯性 - 允許設定預設值,使程式更靈活
- 減少
try-except
的使用,讓程式碼更簡潔 - 在計數與資料處理中提供更簡單的方法
透過活用 get
方法,我們可以撰寫更安全且高效的 Python 程式,避免潛在的錯誤,並提升程式的可維護性。
現在就試試在您的 Python 專案中使用 get
方法,讓程式碼更穩定且靈活!