Python 資料結構 : 字典 (dict) – 基礎篇 (Python dict)
了解Python Dict如何使用 / 存取字典、修改字典、新增鍵值、刪除鍵值
Python 中的字典(Dictionary)是一種內建的資料結構,用於存儲一組鍵值對(Key-Value pairs),每個唯一的鍵(Key)都對應到一個值(Value)。這種數據結構支援高效的數據查找和修改,並且廣泛用於各種場景,如數據分析、機器學習、網站開發等。
Outline
Python Dict – 創建
在 Python 中創建字典通常通過使用大括號 “{}
” 和冒號 “:
” 來完成。字典是由鍵值(Key-Value)對組成的集合,其中每個鍵都對應到一個值。
Python Dict – 使用大括號”{}”和冒號”:”來創建字典
基本的字典創建語法包括將鍵值對放置在大括號 {}
中,並使用冒號 :
將鍵和值分隔開。以下是一些創建字典的範例:
空字典:
1 2 |
# 創建一個空字典 empty_dict = {} |
包含基本數據類型的字典:
1 2 3 4 5 6 |
# 包含字符串、整數和浮點數的字典 person = { "name": "Alice", "age": 30, "salary": 55000.50 } |
嵌套字典:
1 2 3 4 5 6 7 8 9 10 |
# 字典中包含另一個字典 employee = { "name": "Bob", "job": "Engineer", "address": { "street": "123 Main St", "city": "Anytown", "state": "CA" } } |
使用整數作為鍵:
1 2 3 4 5 6 7 |
# 整數作為鍵的字典 favorite_numbers = { 7: "seven", 1: "one", 3: "three", 4: "four" } |
混合不同類型的鍵:
1 2 3 4 5 6 |
# 使用不同類型的鍵 mixed_keys_dict = { "name": "Eve", (1, 2): "Tuple as Key", 9: "Number as Key" } |
Python Dict – 創建時的注意事項
- 鍵的唯一性:在字典中,每個鍵必須是唯一的。如果您使用了重複的鍵,最後一個鍵值對將會覆蓋先前的值。
- 不可變鍵:字典的鍵必須是不可變的類型,如字符串、數字或元組。
- 值的多樣性:字典中的值可以是任何類型的 Python 對象,包括數字、字符串、列表或甚至是另一個字典。
Python Dict – 操作
Python 中能夠在創建了字典裡進行多種操作,包括存取、修改、新增和刪除字典中的鍵值對,這些操作是字典相當重要的功能。
存取字典中的值
存取字典中的值是通過其鍵來完成的。以下是一些例子:
1 2 3 4 5 6 7 8 |
# 創建一個字典 person = {"name": "Alice", "age": 25, "city": "New York"} # 存取名字 print(person["name"]) # 輸出: Alice # 存取年齡 print(person["age"]) # 輸出: 25 |
修改字典中的值
修改字典中的值也是通過鍵來實現的。如果指定的鍵已經存在於字典中,則舊值將被新值覆蓋:
1 2 3 4 5 6 7 |
# 修改年齡 person["age"] = 30 print(person["age"]) # 輸出: 30 # 修改城市 person["city"] = "London" print(person["city"]) # 輸出: London |
新增鍵值對
向字典中新增鍵值對非常簡單,只需指定新鍵和對應的值即可:
1 2 3 |
# 新增職業 person["occupation"] = "Programmer" print(person) # 輸出: {'name': 'Alice', 'age': 30, 'city': 'London', 'occupation': 'Programmer'} |
刪除鍵值對
刪除字典中的鍵值對可以使用 del
關鍵字或者字典的 pop
方法:
1 2 3 4 5 6 7 8 |
# 使用 del 刪除年齡 del person["age"] print(person) # 輸出: {'name': 'Alice', 'city': 'London', 'occupation': 'Programmer'} # 使用 pop 刪除職業 occupation = person.pop("occupation") print(person) # 輸出: {'name': 'Alice', 'city': 'London'} print(occupation) # 輸出: Programmer |
在Python中操作字典是編程中的一個重要方面,無論是在數據處理、應用開發還是數據科學領域,熟練掌握如何操作字典都是非常重要的。
Python Dict – 檢查和迴圈
在處理 Python 字典時,常常需要檢查特定的鍵是否存在,或者遍歷字典中的所有鍵值對。下面將介紹Python 提供的多種方式來實現這些操作。
Python Dict – 檢查鍵是否存在
在許多情況下,您可能需要檢查某個鍵是否已經存在於字典中。這可以通過 in
關鍵字來實現:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# 創建一個字典 person = {"name": "Alice", "age": 30, "city": "New York"} # 檢查 "name" 鍵是否存在 if "name" in person: print("Name is present.") else: print("Name is not present.") # 檢查 "salary" 鍵是否存在 if "salary" in person: print("Salary is present.") else: print("Salary is not present.") |
Python Dict – 遍歷字典的鍵和值
您可以使用 for
迴圈來遍歷字典中的所有鍵或值。這在需要處理字典中的每個元素時非常有用。
輪詢字典的鍵:
1 2 3 |
# 遍歷字典的鍵 for key in person: print(key) |
輪詢字典的值:
1 2 3 |
# 遍歷字典的值 for value in person.values(): print(value) |
Python Dict – 遍歷字典的鍵值對
在某些情況下,您可能需要同時訪問鍵和對應的值。這可以通過 items()
方法和 for
迴圈結合來實現:
1 2 3 |
# 遍歷字典的鍵值對 for key, value in person.items(): print(f"Key: {key}, Value: {value}") |
透過以上這些方法,可以有效地檢查字典中的元素以及遍歷字典。
Python Dict – 常用方法
Python 的字典(Dictionary)提供了許多內建的方法,使得對字典進行操作變得更加方便和高效。這些方法包括添加、刪除元素,查詢字典,以及更多其他功能。以下將介紹一些最常用的字典方法,並提供相應的範例:
get() :
get() 方法用於返回指定鍵的值。如果鍵不存在於字典中,則可以返回一個指定的默認值。
1 2 3 4 5 6 7 8 9 |
person = {"name": "Alice", "age": 30} # 使用 get() 獲取 "name" name = person.get("name", "Unknown") print(name) # 輸出: Alice # 使用 get() 嘗試獲取不存在的鍵 occupation = person.get("occupation", "Unknown") print(occupation) # 輸出: Unknown |
keys() :
keys() 方法返回一個字典所有鍵的視圖。這意味著您可以使用這個視圖來查看所有的鍵。
1 2 3 |
# 查看所有鍵 keys = person.keys() print(keys) # 輸出: dict_keys(['name', 'age']) |
values() :
類似於 keys(),values() 方法返回一個字典所有值的視圖。
1 2 3 |
# 查看所有值 values = person.values() print(values) # 輸出: dict_values(['Alice', 30]) |
items() :
items() 方法返回一個包含所有(鍵,值)元組的視圖。
1 2 3 |
# 查看所有鍵值對 items = person.items() print(items) # 輸出: dict_items([('name', 'Alice'), ('age', 30)]) |
update() :
update() 方法用於更新字典。您可以用另一個字典的鍵值對來更新現有字典。
1 2 3 |
# 更新字典 person.update({"age": 35, "city": "New York"}) print(person) # 輸出: {'name': 'Alice', 'age': 35, 'city': 'New York'} |
pop() :
pop() 方法用於移除字典中指定的元素,並返回該元素的值。
1 2 3 4 |
# 移除並返回 "age" age = person.pop("age") print(age) # 輸出: 35 print(person) # 輸出: {'name': 'Alice', 'city': 'New York'} |
clear() :
1 2 3 |
# 清空字典 person.clear() print(person) # 輸出: {} |
以上是Python Dict(字典)的筆記。