python 二維數(shù)組
二維數(shù)組是數(shù)組內(nèi)的數(shù)組。它是一個(gè)數(shù)組數(shù)組。在這種類型的數(shù)組中,數(shù)據(jù)元素的位置由兩個(gè)索引而不是一個(gè)索引來引用。所以它代表了一個(gè)包含行和dcolumns數(shù)據(jù)的表格。在下面的twp維數(shù)組的例子中,每個(gè)數(shù)組元素本身也是一個(gè)數(shù)組。
考慮每天記錄4次溫度的例子。記錄儀器有時(shí)可能出現(xiàn)故障,我們無法記錄數(shù)據(jù)。4天的這種數(shù)據(jù)可以如下所示呈現(xiàn)為二維陣列。
day 1 - 11 12 5 2 day 2 - 15 6 10 day 3 - 10 8 12 5 day 4 - 12 15 8 6
上述數(shù)據(jù)可以表示為如下的二維數(shù)組。
t = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
訪問二維數(shù)組中的值
可以使用兩個(gè)索引來訪問兩個(gè)二維數(shù)組中的數(shù)據(jù)元素。一個(gè)索引引用主數(shù)組或父數(shù)組,另一個(gè)索引引用內(nèi)部數(shù)組中的數(shù)據(jù)元素的位置。如果我們只提到一個(gè)索引,那么將為該索引位置打印整個(gè)內(nèi)部數(shù)組。下面的例子說明了它是如何工作的。
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])
當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
[11, 12, 5, 2] 10
要打印出整個(gè)二維數(shù)組,我們可以使用python for循環(huán),如下所示。我們使用行尾來打印出不同行中的值。
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()
當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
11 12 5 2 15 6 10 10 8 12 5 12 15 8 6
在二維數(shù)組中插入值
我們可以使用insert()方法并指定索引來在特定位置插入新的數(shù)據(jù)元素。
在下面的例子中,一個(gè)新的數(shù)據(jù)元素被插入索引位置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()
當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
11 12 5 2 15 6 10 0 5 11 13 6 10 8 12 5 12 15 8 6
更新二維數(shù)組中的值
我們可以通過使用數(shù)組索引重新分配值來更新整個(gè)內(nèi)部數(shù)組或內(nèi)部數(shù)組的某些特定數(shù)據(jù)元素。
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()
當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
11 12 5 7 15 6 10 11 9 12 15 8 6
刪除二維數(shù)組中的值
我們可以通過使用帶索引的del()方法重新指定值來刪除整個(gè)內(nèi)部數(shù)組或內(nèi)部數(shù)組的某些特定數(shù)據(jù)元素。但是,如果您需要?jiǎng)h除其中一個(gè)內(nèi)部陣列中的特定數(shù)據(jù)元素,請使用上述更新過程。
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()
當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
11 12 5 2 15 6 10 10 8 12 5