Python数据结构 二维数组
二维数组是一个数组中的数组。它是一个数组的数组。在这种类型的数组中,一个数据元素的位置是由两个指数而不是一个指数来表示的。所以它代表了一个有行和列的数据表。
在下面这个二维数组的例子中,请注意每个数组元素本身也是一个数组。
考虑一下每天记录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