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