一、列表(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+ 有序)

定義符號

[]

()

{}

查找方式

索引(數字)

索引(數字)

鍵(任意不可變類型)

是否允許重複



鍵唯一,值可重複

五、實戰小練習

嘗試完成以下任務:

  1. 創建一個購物清單(列表),添加商品,刪除不需要的,打印剩餘項。
  2. 用字典存儲三位同學的姓名和成績,計算平均分。
  3. 用元組表示一個 RGB 顏色(如 (255, 128, 0)),並打印各分量。