2024年10月24日 星期四

二維串列

 二維串列(或稱二維列表)在 Python 中是一種用來表示矩陣、表格或其他多維數據結構的形式。你可以將它想像成一個包含多個「一維串列」的串列,每個「一維串列」代表一行。

如何創建二維串列

以下是幾種常見的創建方法:

1. 手動創建

這是一種直接創建二維串列的方法:

# 建立一個 3x3 的二維串列
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print(matrix)

輸出:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

2. 使用 for 迴圈創建

當需要一個具有預定大小的二維串列時,可以使用迴圈來創建:

# 創建一個 3x3,初始值為 0 的二維串列
rows, cols = 3, 3
matrix = [[0 for _ in range(cols)] for _ in range(rows)]

print(matrix)

輸出:

[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

訪問和修改二維串列元素

你可以通過行和列的索引來訪問或修改二維串列中的元素。

訪問元素

# 訪問 matrix 的第一行第二個元素(索引從 0 開始)
print(matrix[0][1])  # 輸出 2

修改元素

# 將 matrix 的第二行第三個元素改為 10
matrix[1][2] = 10

print(matrix)

輸出:

[[1, 2, 3], [4, 5, 10], [7, 8, 9]]

遍歷二維串列

可以使用嵌套的 for 迴圈來遍歷二維串列中的所有元素。

for row in matrix:
    for element in row:
        print(element, end=' ')
    print()  # 換行

輸出:

1 2 3 
4 5 10 
7 8 9

常見操作範例

1. 創建 5x5 的單位矩陣

size = 5
identity_matrix = [[1 if i == j else 0 for j in range(size)] for i in range(size)]

for row in identity_matrix:
    print(row)

輸出:

[1, 0, 0, 0, 0]
[0, 1, 0, 0, 0]
[0, 0, 1, 0, 0]
[0, 0, 0, 1, 0]
[0, 0, 0, 0, 1]

2. 初始化 3x4 的串列並填滿 1 到 12 的數字

rows, cols = 3, 4
matrix = [[cols * i + j + 1 for j in range(cols)] for i in range(rows)]

for row in matrix:
    print(row)

輸出:

[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]

總結

二維串列是一種靈活且易於操作的數據結構,適合表示各種表格或矩陣形式的數據。在 Python 中,可以輕鬆地創建、訪問、修改和遍歷二維串列,使其非常適合用於處理圖形、表格數據和多維資料。

沒有留言:

張貼留言