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