新手必看:Python字典入門——鍵值對與遍歷技巧

一、字典是什麼?

在Python中,字典(Dictionary)是一種鍵值對形式的數據結構,它就像我們現實生活中的“通訊錄”——通過一個唯一的鍵(Key) 就能快速找到對應的值(Value)。比如,我們可以用“姓名”作爲鍵,存儲“年齡”“電話”等信息作爲值,這樣比用列表(通過索引訪問)更直觀。

舉個例子:如果要記錄一個學生的信息,用列表可能需要 [["name", "小明"], ["age", 18]],而用字典則是 {"name": "小明", "age": 18},後者直接通過鍵名就能訪問,比如 student["name"] 就能得到“小明”。

二、創建字典:最簡單的方式是用大括號

字典由鍵(Key)值(Value) 組成,鍵和值用冒號 : 分隔,鍵值對之間用逗號 , 分隔,整體放在大括號 {} 中。

示例:

# 用大括號創建字典
student = {
    "name": "小明",
    "age": 18,
    "score": 95,
    "hobbies": ["籃球", "編程"]  # 值可以是任意類型,包括列表
}

注意:
- 鍵必須是不可變類型(如字符串、數字、元組),不能用列表、字典等可變類型作爲鍵(否則會報錯)。
- 值可以是任意類型(數字、字符串、列表、字典等)。

三、訪問字典中的元素:通過鍵名“查值”

要獲取字典中的值,直接用鍵名加中括號 [] 即可。如果鍵不存在,會報錯 KeyError,因此推薦用 get() 方法(更安全,不存在時返回 None 或自定義默認值)。

示例:

student = {"name": "小明", "age": 18, "score": 95}

# 1. 直接用鍵訪問(鍵不存在會報錯)
print(student["name"])  # 輸出:小明
# print(student["gender"])  # 報錯!KeyError: 'gender'

# 2. 用get()方法(更安全,不存在時返回None或指定默認值)
print(student.get("age"))       # 輸出:18
print(student.get("gender", "未知"))  # 輸出:未知(不存在時返回默認值“未知”)

四、修改、添加與刪除元素

字典是可變的,可以隨時修改或添加鍵值對,也能刪除元素。

  • 修改/添加:如果鍵已存在,賦值會修改值;如果鍵不存在,賦值會新增鍵值對。
  student = {"name": "小明", "age": 18}

  # 修改已有鍵的值
  student["age"] = 19  # 把年齡改爲19
  print(student)  # 輸出:{'name': '小明', 'age': 19}

  # 添加新鍵值對
  student["score"] = 95  # 新增分數
  print(student)  # 輸出:{'name': '小明', 'age': 19, 'score': 95}
  • 刪除元素:用 del 語句或 pop() 方法。
  student = {"name": "小明", "age": 18, "score": 95}

  # 1. del語句(直接刪除鍵值對,無返回值)
  del student["age"]  # 刪除年齡
  print(student)  # 輸出:{'name': '小明', 'score': 95}

  # 2. pop()方法(返回被刪除的值,可指定默認值)
  age = student.pop("score")  # 刪除分數並返回95
  print(student)  # 輸出:{'name': '小明'}
  print(age)      # 輸出:95

五、遍歷字典:三種常用技巧

遍歷字典時,我們需要關注鍵(Key)值(Value)鍵值對(Key-Value)。Python提供了三種遍歷方式:

  1. 遍歷所有鍵(Key):用 for key in 字典字典.keys()
   student = {"name": "小明", "age": 18, "score": 95}

   for key in student:
       print(key)  # 輸出:name, age, score(Python 3.7+ 按插入順序)
  1. 遍歷所有值(Value):用 for value in 字典.values()
   for value in student.values():
       print(value)  # 輸出:小明, 18, 95
  1. 遍歷所有鍵值對(Key-Value):用 for key, value in 字典.items()
   for key, value in student.items():
       print(f"{key}: {value}")  # 輸出:name: 小明, age: 18, score: 95

六、字典的常用小技巧

  • 判斷鍵是否存在:用 in 操作符。
  student = {"name": "小明", "age": 18}
  print("name" in student)  # 輸出:True(鍵存在)
  print("gender" in student)  # 輸出:False(鍵不存在)
  • 獲取字典長度:用 len()
  print(len(student))  # 輸出:2(兩個鍵值對)
  • 合併字典:用 update() 方法,合併後會覆蓋重複的鍵。
  dict1 = {"a": 1, "b": 2}
  dict2 = {"b": 3, "c": 4}
  dict1.update(dict2)  # 合併dict2到dict1
  print(dict1)  # 輸出:{'a': 1, 'b': 3, 'c': 4}(b的值被覆蓋)

七、總結

字典是Python中靈活且高效的數據結構,核心是鍵值對,通過鍵快速訪問值,適合存儲“關聯數據”(如用戶信息、配置參數)。掌握以下關鍵點:
- 用 {}dict() 創建字典,鍵必須是不可變類型(字符串、數字、元組)。
- 用 字典[key]字典.get(key) 訪問值,get() 更安全。
- 通過賦值修改/添加元素,用 delpop() 刪除元素。
- 遍歷用 for key in 字典for value in 字典.values()for key, value in 字典.items()

多動手嘗試,就能熟練運用字典解決實際問題啦!

小夜