# 二維串列(也叫做「巢狀串列」nested list)是串列中的每個元素又是一個串列,它就像是「表格」、「棋盤」、「座標矩陣」那樣的資料結構。
# 🧾 Python 中建立二維串列的常見方式
# ✅ 1. 手動建立法(最直觀)
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
適合用於已經知道所有資料的情況。
# ✅ 2. for 迴圈逐列加入
matrix = []
for i in range(3):
row = [0] * 3 # 建立一列有3個0
matrix.append(row)
# 🔍 結果為:
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
# ✅ 3. 串列推導式(List Comprehension)
matrix = [[0 for col in range(3)] for row in range(3)]
# 或簡寫成:
matrix = [[0]*3 for _ in range(3)]
# 📌 注意:不能用這種方式 ↓↓↓
# matrix = [[0]*3] * 3 # ❌ 錯誤用法!
# 因為這樣會讓三列共用同一個記憶體位置,導致修改一列時,其他列也跟著改!
# ✅ 4. 從輸入資料建立(動態輸入)
matrix = []
for i in range(3):
row = list(map(int, input(f"輸入第{i+1}列(用空白分隔): ").split()))
matrix.append(row)
# 📌 使用者輸入範例(每列輸入一次):
1 2 3
4 5 6
7 8 9
# 結果會是:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# ✅ 5. 使用函式自動建立
# 你可以包成函式,建立任意尺寸的空矩陣:
def make_matrix(rows, cols, default=0):
return [[default for _ in range(cols)] for _ in range(rows)]
m = make_matrix(4, 5) # 建立 4x5 的全 0 矩陣