Python - 字典
嗨,有抱负的程式設計師們!今天,我們將深入探討 Python 字典的迷人世界。作為你友善的鄰居電腦科學老師,我非常高興能夠引導你完成這次旅程。所以,拿起你最喜歡的飲料,放鬆一下,讓我們一起踏上這次冒險吧!
Python 中的字典
想象一下你在創建一個數位通訊錄。你想儲存關於你朋友的信息,例如他們的名字、電話號碼和電子郵件地址。你會怎麼做呢?讓我們來介紹 Python 字典!
Python 中的字典就像實際的字典一樣,但不是储存詞語定義,而是储存鍵值對。它是一個無序、可變且不允許重複的集合。
字典的主要特性
- 鍵值對:字典中的每個項目都包含一個鍵和其相應的值。
- 無序:與列表不同,字典沒有特定的順序。
- 可變:在創建字典後,你可以添加、刪除或修改項目。
- 不允許重複:字典中的每個鍵必須是唯一的。
創建字典
讓我們從創建第一個字典開始:
my_friend = {
"name": "Alice",
"age": 25,
"city": "New York"
}
在這個例子中,我們創建了一個名為 my_friend
的字典。鍵是 "name"、"age" 和 "city",它們對應的值分別是 "Alice"、25 和 "New York"。
你也可以創建一個空字典並稍後添加項目:
empty_dict = {}
another_dict = dict() # 使用 dict() 构造函数
訪問字典項目
要訪問字典中的項目,你可以在方括號中使用鍵名:
print(my_friend["name"]) # 輸出:Alice
你也可以使用 get()
方法,這更安全,因為如果鍵不存在,它會返回 None(而不是引發錯誤):
print(my_friend.get("age")) # 輸出:25
print(my_friend.get("job")) # 輸出:None
修改字典項目
字典是可變的,意味著我們可以在創建後更改其內容:
# 更改一個值
my_friend["age"] = 26
# 添加新的鍵值對
my_friend["job"] = "Engineer"
print(my_friend)
# 輸出:{'name': 'Alice', 'age': 26, 'city': 'New York', 'job': 'Engineer'}
刪除字典項目
有幾種方法可以從字典中刪除項目:
# 刪除特定的項目
del my_friend["age"]
# 刪除並返回一個項目
job = my_friend.pop("job")
# 刪除最後插入的項目
last_item = my_friend.popitem()
print(my_friend) # 輸出:{'name': 'Alice'}
迭代字典
你可以以幾種方式遍歷字典:
# 迭代鍵
for key in my_friend:
print(key)
# 迭代值
for value in my_friend.values():
print(value)
# 迭代鍵和值
for key, value in my_friend.items():
print(f"{key}: {value}")
字典鍵的屬性
字典鍵有一些重要的屬性:
- 鍵必須是不可變的(如字符串、數字或元組)。
- 鍵在字典中必須是唯一的。
例如:
valid_dict = {
"string_key": "value1",
42: "value2",
(1, 2): "value3"
}
# 這會引發錯誤:
# invalid_dict = {[1, 2]: "value"} # 列表不能作為鍵
Python 字典運算符
Python 提供了一些有用的字典運算符:
# 合併字典(Python 3.5+)
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
merged = {**dict1, **dict2}
print(merged) # 輸出:{'a': 1, 'b': 2, 'c': 3, 'd': 4}
# 檢查鍵是否存在
if "name" in my_friend:
print("Name is in the dictionary")
Python 字典方法
以下是常用字典方法的表格:
方法 | 描述 |
---|---|
clear() | 刪除字典中的所有項目 |
copy() | 返回字典的淺拷貝 |
fromkeys() | 創建一個新的字典,具有指定的鍵和值 |
get() | 返回指定鍵的值 |
items() | 返回字典的(鍵,值)元組對列表 |
keys() | 返回字典鍵的列表 |
pop() | 刪除並返回具有指定鍵的元素 |
popitem() | 刪除並返回最後插入的鍵值對 |
setdefault() | 返回指定鍵的值。如果鍵不存在:插入鍵,並指定值 |
update() | 使用指定的鍵值對更新字典 |
values() | 返回字典中所有值的列表 |
字典內建函數
Python 提供了幾個與字典一起使用的內建函數:
# 字典的長度
print(len(my_friend))
# 字典的類型
print(type(my_friend))
# 將其他數據類型轉換為字典
list_of_tuples = [("a", 1), ("b", 2)]
dict_from_list = dict(list_of_tuples)
print(dict_from_list) # 輸出:{'a': 1, 'b': 2}
就這樣,各位!我們已經穿越了 Python 字典的土地,從創建到操作,從迭代到內建函數。記住,熟練才能生巧,所以不要害怕在自己的代碼中實驗這些概念。
在我們結束之前,讓我分享一點程式設計的幽默:為什麼 Python 程式設計師喜歡使用字典呢?因為他們總是知道自己的鍵在哪里!?
繼續編程,保持好奇,並記住:在編程的世界裡,每個錯誤都是一個新的學習機會。下次再見,編程愉快!
Credits: Image by storyset