在 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]]
常見問答
什麼是 Python 中的二維陣列? 二維陣列是陣列的陣列,允許元素的網格式存儲。
我如何在 Python 中初始化二維陣列? 二維陣列可以使用巢狀列表或 list comprehensions 進行初始化。
我如何在 Python 中修改二維陣列? 您可以通過指定行和列索引來修改元素。
我可以高效地迭代二維陣列嗎? 是的,可以使用巢狀迴圈進行高效迭代。
我如何在 Python 中轉換一維和二維陣列? 可以使用 list comprehensions 在一維和二維陣列之間進行轉換,如示例所示。