Filed under實戰開發指南on•3 分鐘閱讀

[Python] 二維陣列的初始化、操作和轉換的精通

在 Python 中初始化二維陣列 使用巢狀列表 透過巢狀列表可用於初始化二維陣列。以下是一個範例: python twodarray = 1, 2, 3, 4, 5, 6, 7, 8, 9 printtwodarray 輸出: 1, 2, 3, 4, 5, 6, 7, 8, 9 這樣會創建一個 3x3 陣列,使用巢狀...

在 Python 中初始化二維陣列

使用巢狀列表

透過巢狀列表可用於初始化二維陣列。以下是一個範例:

two_d_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(two_d_array)
# 輸出: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

這樣會創建一個 3x3 陣列,使用巢狀列表。

使用 List Comprehensions

List comprehensions 提供了更簡潔的方式:

rows, cols = 3, 3
two_d_array = [[0 for j in range(cols)] for i in range(rows)]
print(two_d_array)
# 輸出: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

這將初始化一個所有元素均為零的 3x3 二維陣列。

存取二維陣列中的元素

您可以通過指定行和列存取元素

two_d_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
element = two_d_array[1][2]
print(element)
# 輸出: 6

此代碼存取第二行,第三列的元素。

修改和操作二維陣列

修改二維陣列與存取它類似

two_d_array[1][2] = 10
print(two_d_array)
# 輸出: [[1, 2, 3], [4, 5, 10], [7, 8, 9]]

此代碼修改第二行,第三列的值為 10。

二維陣列的高效迭代

您可以使用巢狀迴圈高效迭代二維陣列

for row in two_d_array:
    for element in row:
        print(element, end=" ")
    print()

# 輸出:
1 2 3 
4 5 10 
7 8 9 

此代碼按行打印所有元素。

將二維陣列轉換為一維陣列

您可以使用 list comprehension 將二維陣列展平為一維陣列

flat_array = [element for row in two_d_array for element in row]
print(flat_array)

# 輸出: [1, 2, 3, 4, 5, 10, 7, 8, 9]

通過指定列數將一維陣列轉換為二維陣列

cols = 3
two_d_array = [flat_array[i:i+cols] for i in range(0, len(flat_array), cols)]
print(two_d_array)

# 輸出: [[1, 2, 3], [4, 5, 10], [7, 8, 9]]

常見問答

  1. 什麼是 Python 中的二維陣列? 二維陣列是陣列的陣列,允許元素的網格式存儲。

  2. 我如何在 Python 中初始化二維陣列? 二維陣列可以使用巢狀列表或 list comprehensions 進行初始化。

  3. 我如何在 Python 中修改二維陣列? 您可以通過指定行和列索引來修改元素。

  4. 我可以高效地迭代二維陣列嗎? 是的,可以使用巢狀迴圈進行高效迭代。

  5. 我如何在 Python 中轉換一維和二維陣列? 可以使用 list comprehensions 在一維和二維陣列之間進行轉換,如示例所示。

返回所有文章首頁