二維數組是數組内的數組。它是一個數組數組。在這種類型的數組中,資料元素的位置由兩個索引而不是一個索引來引用。是以它代表了一個包含行和dcolumns資料的表格。在下面的twp維數組的例子中,每個數組元素本身也是一個數組。
考慮每天記錄4次溫度的例子。記錄儀器有時可能出現故障,我們無法記錄資料。4天的這種資料可以如下所示呈現為二維陣列。
Day 1 - 11 12 5 2
Day 2 - 15 6 10
Day 3 - 10 8 12 5
Day 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