文章

第9天:字典(Dictionary)

課程簡介

字典是 Python 中的一種鍵值對 (key-value pair) 的資料結構。不同於列表,字典的元素是無序的,並且每個鍵都唯一對應一個值。今天我們將學習如何建立字典、操作字典,並了解常見的字典方法。


學習內容

1. 建立字典

字典是使用大括號 {} 定義的,鍵和值之間用冒號 : 分隔,鍵值對之間用逗號分隔。

範例:

1
2
3
4
5
# 建立一個包含名稱和年齡的字典
person = {
    "name": "Alice",
    "age": 25
}

2. 訪問字典的值

可以使用鍵來訪問字典中的值,方法是 dictionary[key]

範例:

1
2
3
4
5
6
7
8
person = {
    "name": "Alice",
    "age": 25
}

# 訪問字典中的值
print(person["name"])  # 輸出: Alice
print(person["age"])   # 輸出: 25

3. 新增或修改字典元素

可以通過指定鍵來新增或修改字典中的元素。如果鍵已存在,則修改對應的值;如果鍵不存在,則新增一個鍵值對。

範例:

1
2
3
4
5
6
7
8
9
10
11
12
person = {
    "name": "Alice",
    "age": 25
}

# 新增一個鍵值對
person["city"] = "New York"
print(person)  # 輸出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 修改現有的值
person["age"] = 26
print(person)  # 輸出: {'name': 'Alice', 'age': 26, 'city': 'New York'}

4. 刪除字典元素

可以使用 del 關鍵字或 pop() 方法來刪除字典中的某個鍵值對。

範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
person = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

# 使用 del 刪除
del person["city"]
print(person)  # 輸出: {'name': 'Alice', 'age': 25}

# 使用 pop() 方法刪除
age = person.pop("age")
print(person)  # 輸出: {'name': 'Alice'}
print(age)     # 輸出: 25

5. 檢查鍵是否存在

可以使用 in 關鍵字來檢查某個鍵是否存在於字典中。

範例:

1
2
3
4
5
6
7
8
person = {
    "name": "Alice",
    "age": 25
}

# 檢查鍵是否存在
if "name" in person:
    print("Name exists in the dictionary")  # 輸出: Name exists in the dictionary

6. 字典的常見方法

  • keys():返回所有鍵的列表。
  • values():返回所有值的列表。
  • items():返回所有鍵值對的列表(每個鍵值對作為一個 tuple)。
  • get():根據鍵返回對應的值,如果鍵不存在則返回預設值。

範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
person = {
    "name": "Alice",
    "age": 25
}

# 獲取所有鍵
print(person.keys())  # 輸出: dict_keys(['name', 'age'])

# 獲取所有值
print(person.values())  # 輸出: dict_values(['Alice', 25])

# 獲取所有鍵值對
print(person.items())  # 輸出: dict_items([('name', 'Alice'), ('age', 25)])

# 使用 get() 方法
print(person.get("name"))  # 輸出: Alice
print(person.get("city", "Not Found"))  # 輸出: Not Found

教學重點

  • 字典的定義:學會如何建立字典並理解鍵值對的結構。
  • 訪問字典元素:使用鍵來訪問字典中的值。
  • 新增或修改元素:通過指定鍵來新增或修改字典中的元素。
  • 刪除字典元素:使用 delpop() 來刪除字典中的鍵值對。
  • 檢查鍵的存在:使用 in 關鍵字來判斷某個鍵是否存在於字典中。
  • 字典的常見方法:如 keys()values()items()get() 的使用方法。

任務

  1. 建立一個描述一位學生的字典,包含姓名、年齡和學號,並列印出這些資料。
  2. 使用字典方法來新增一個鍵值對,代表學生的學校名稱,並修改年齡值。
  3. 刪除學號的鍵值對,並確認其已被刪除。
  4. 使用 get() 方法來嘗試獲取一個不存在的鍵,並設置一個預設值。
本文章以 CC BY 4.0 授權