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