一、列表(List)——可變的有序集合
列表是 Python 中最常用的數據結構之一,它用方括號 [] 表示,可以存儲任意類型的元素,並且支持動態增刪改查。
1. 創建與訪問
fruits = ["蘋果", "香蕉", "橙子"]
print(fruits[0]) # 輸出:蘋果
列表支持負索引(從後往前數):
print(fruits[-1]) # 輸出:橙子
2. 修改與添加
fruits[1] = "葡萄" # 修改
fruits.append("西瓜") # 末尾添加
fruits.insert(1, "芒果") # 在指定位置插入
3. 刪除元素
fruits.remove("蘋果") # 按值刪除
del fruits[0] # 按索引刪除
last = fruits.pop() # 彈出最後一個元素
4. 列表切片(Slice)
這是 Python 非常強大的特性:
nums = [0, 1, 2, 3, 4, 5]
print(nums[1:4]) # [1, 2, 3]
print(nums[:3]) # [0, 1, 2]
print(nums[2:]) # [2, 3, 4, 5]
二、元組(Tuple)——不可變的有序序列
元組與列表非常相似,但一旦創建就不能修改,使用圓括號 () 定義(也可以省略括號)。
1. 創建與訪問
point = (3, 4)
print(point[0]) # 輸出:3
2. 不可變性
# point[0] = 5 # ❌ 報錯!元組不支持修改
3. 為什麼用元組?
- 保證數據安全(防止意外修改)
- 可作為字典的鍵(列表不行)
- 函數返回多個值時默認用元組:
def get_name_age():
return "小明", 18
name, age = get_name_age() # 自動解包
三、字典(Dictionary)——鍵值對的映射
字典是無序的(Python 3.7+ 保持插入順序),用花括號 {} 表示,通過“鍵”快速查找“值”。
1. 創建與訪問
student = {"name": "李華", "age": 16, "grade": "高一"}
print(student["name"]) # 輸出:李華
2. 添加/修改
student["score"] = 95 # 新增鍵值對
student["age"] = 17 # 修改已有值
3. 安全訪問(避免 KeyError)
print(student.get("phone", "未填寫")) # 若無 phone 鍵,返回默認值
4. 遍歷字典
for key in student:
print(key, ":", student[key])
# 或使用 items()
for k, v in student.items():
print(f"{k} = {v}")
5. 常用方法
keys():獲取所有鍵values():獲取所有值pop(key):刪除並返回對應值
四、對比總結
|
特性
|
列表(List)
|
元組(Tuple)
|
字典(Dict)
|
|
是否可變
|
✅ 可變
|
❌ 不可變
|
✅ 可變
|
|
是否有序
|
✅ 有序
|
✅ 有序
|
✅(3.7+ 有序)
|
|
定義符號
|
|
|
|
|
查找方式
|
索引(數字)
|
索引(數字)
|
鍵(任意不可變類型)
|
|
是否允許重複
|
✅
|
✅
|
鍵唯一,值可重複
|
五、實戰小練習
嘗試完成以下任務:
- 創建一個購物清單(列表),添加商品,刪除不需要的,打印剩餘項。
- 用字典存儲三位同學的姓名和成績,計算平均分。
- 用元組表示一個 RGB 顏色(如
(255, 128, 0)),並打印各分量。