📅  最后修改于: 2020-11-07 08:34:03             🧑  作者: Mango
二维数组是数组内的数组。它是一个数组数组。在这种类型的数组中,数据元素的位置由两个索引而不是一个索引引用。因此,它代表具有行和数据列的表。在下面的二维数组示例中,观察者看到每个数组元素本身也是一个数组。
考虑每天记录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
通过使用带有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