Python Data Structure 简明教程

Python - 2-D Array

二维数组是数组中的数组。它是一个数组的数组。在此类型的数组中,数据元素的位置用两个索引引用,而不是一个索引。所以它表示一个带有数据行和列的表格。

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

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

Accessing Values

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

Example

下面的示例说明了它的工作原理。

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])

Output

执行上述代码后,将生成以下结果 −

[11, 12, 5, 2]
10

要打印出整个二维数组,我们可以使用 python for 循环,如下所示。我们使用换行符在不同的行中打印出值。

Example

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()

Output

执行上述代码后,将生成以下结果 −

11 12  5 2
15  6 10
10  8 12 5
12 15  8 6

Inserting Values

我们可以使用 insert() 方法并指定索引,在特定位置插入新的数据元素。

Example

在下面的示例中,新的数据元素被插入到索引位置 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()

Output

执行上述代码后,将生成以下结果 −

11 12  5  2
15  6 10
 0  5 11 13 6
10  8 12  5
12 15  8  6

Updating Values

我们可以通过使用数组索引重新分配值来更新整个内部数组或内部数组的某些特定数据元素。

Example

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()

Output

执行上述代码后,将生成以下结果 −

11 12 5  7
15  6 10
11  9
12 15 8  6

Deleting the Values

我们可以通过使用带有索引的 del() 方法重新分配值来删除整个内部数组或内部数组的某些特定数据元素。但如果你需要删除其中一个内部数组中的特定数据元素,则可以使用上面描述的更新过程。

Example

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()

Output

执行上述代码后,将生成以下结果 −

11 12 5 2
15 6 10
10 8 12 5