二維陣列是陣列中的陣列。 它是一個陣列的陣列。 在這種型別的陣列中,資料元素的位置由兩個索引,而不是一個索引來參照。 所以它表示了一個包含行和列的資料的表。 在下面的二維陣列的例子中,每個陣列元素本身也是一個陣列。
考慮每天記錄4
次溫度的例子。記錄儀器有時會出現故障,我們無法記錄資料。 4
天的這種資料可以如下所示呈現為二維陣列。
第1天 - 11 12 5 2
第2天 - 15 6 10
第3天 - 10 8 12 5
第4天 - 12 15 8 6
上述資料可以表示為如下的二維陣列。
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
可以使用兩個索引來存取二維陣列中的資料元素。 一個索引參照主陣列或父陣列,另一個索引參照內部陣列中的資料元素的位置。 如果只使用一個索引,那麼將為該索引位置列印整個內部陣列。 下面的例子說明了它是如何工作的。
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
print(T[0])
print(T[1][2])
執行上面範例程式碼,得到以下結果 -
[11, 12, 5, 2]
10
要列印出整個二維陣列,可以使用python的for
迴圈,如下所示。 使用行尾來列印出不同行中的值。
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
for r in T:
for c in r:
print(c,end = " ")
print()
執行上面範例程式碼,得到以下結果 -
11 12 5 2
15 6 10
10 8 12 5
12 15 8 6
可以使用insert()
方法並指定索引來在特定位置插入新的資料元素。
在下面的例子中,一個新的資料元素被插入索引位置是:2
。
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
T.insert(2, [0,5,11,13,6])
for r in T:
for c in r:
print(c,end = " ")
print()
執行上面範例程式碼,得到以下結果 -
11 12 5 2
15 6 10
0 5 11 13 6
10 8 12 5
12 15 8 6
可以通過使用陣列索引重新賦值來更新整個內部陣列或內部陣列的某些特定資料元素。
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
T[2] = [11,9]
T[0][3] = 7
for r in T:
for c in r:
print(c,end = " ")
print()
執行上面範例程式碼,得到以下結果 -
11 12 5 7
15 6 10
11 9
12 15 8 6
可以通過使用帶索引的del()
方法重新指定值來刪除整個內部陣列或內部陣列的某些特定資料元素。 但是,如果需要刪除其中一個內部陣列中的特定資料元素,請使用上述更新過程。
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
del T[3]
for r in T:
for c in r:
print(c,end = " ")
print()
執行上面範例程式碼,得到以下結果 -
11 12 5 2
15 6 10
10 8 12 5