Python - 二维数组的数据结构



二维数组是数组中的数组。它是一个数组的数组。在这种类型的数组中,数据元素的位置由两个索引而不是一个索引引用。所以它表示一个包含行和 dcolumns 数据的表。

在下面的二维数组示例中,观察每个数组元素本身也是一个数组。

考虑每天记录 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]]

访问值

可以使用两个索引访问两个 dimesnional 数组中的数据元素。一个索引引用主数组或父数组,另一个索引引用数据元素在内部数组中的位置。如果我们只提到一个索引,那么整个内部数组都会打印到该索引位置。

下面的示例说明了它是如何工作的。


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 循环,如下所示。我们使用 end of line 来打印出不同行中的值。


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

删除值

我们可以通过使用带有 index 的 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