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

在 Python 中初始化二維陣列

使用巢狀列表

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

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 提供了更簡潔的方式:

python
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 二維陣列。

存取二維陣列中的元素

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

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

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

修改和操作二維陣列

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

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

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

二維陣列的高效迭代

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

python
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 將二維陣列展平為一維陣列

python
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]

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

python
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 在一維和二維陣列之間進行轉換,如示例所示。
© Copyright 2023 CLONE CODING