Python 二维数组

二维数组是数组内的数组。它是一个数组数组。在这种类型的数组中,数据元素的位置由两个索引而不是一个索引来引用。所以它代表了一个包含行和dcolumns数据的表格。在下面的twp维数组的例子中,每个数组元素本身也是一个数组。

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

下一章:Python 矩阵

矩阵是二维数组的特殊情况,其中每个数据元素具有严格相同的大小。所以每个矩阵也是一个二维数组,但反之亦然。矩阵是许多数学和科学计算中非常重要的数据结构。正如我们在前一章中已经讨论过的两个双维数组结构,我们将在本章中专注于矩 ...