python二维列表

  • 1. 本质
  • 2. 创建二维列表
  • 3. “读” 二维列表
  • 4. "写" 二维列表
  • 5. 遍历二维列表
  • 6. 练习1
  • 7. 练习2
  • 1. 本质

    二维数组本质上是以列表作为列表元素的列表。
    简单理解就是:二维数组的元素还是列表

    2. 创建二维列表

    例如:创建2行3列的二维数组,也就是两个一维列表,每个一维列表有三个元素(相当于2行3列)
    arr = [
      [0,1,2],
      [0,1,2]
    ]

    # 1. 创建一个空列表
    arr = [] 
    for i in range(2):
        arr.append([])
        for j in range(3):
            arr[i].append(j)
    
    
    # 2. 遍历列表
    for i in arr:
        print(i)
    
    打印结果:
    [0, 1, 2]
    [0, 1, 2]
    

    3. “读” 二维列表

    注意:
    [0][0] 代表第1个一维数组的第一个元素(第一行一列)
    [1][0] 代表第2个一维数组的第一个元素(第二行一列)

    arr = [
        [0,1,2],
        [0,1,2]
    ]
    
    print(arr[0][1]) # 1
    print(arr[1][0]) # 0
    

    4. “写” 二维列表

    arr = [
        [],[]
    ]
    
    arr[0] = [1,2,3]
    arr[1] = [4,5,6]
    
    结果:[[1, 2, 3], [4, 5, 6]]
    
    arr = [
        [0,1],[0,1]
    ]
    
    arr[0][1] = 3
    arr[1][1] = 6
    
    打印结果:[[0, 3], [0, 6]]
    

    5. 遍历二维列表

    arr = [
        [0,1,2],[0,1,2]
    ]
    for i in range(2):	# 外层循环列表
        for j in range(3):	# 内循环每个列表中的元素
            print(arr[i][j],end=' ')
        print('')
    

    6. 练习1

    1. 将二维列表arr变为如下效果:

    arr=[
    [1,2,3],
    [4,5,6]
    ]

    """
    1 4
    2 5
    3 6
    1的下标:[0][0]   4的下标:[1][0]
    2的下标:[0][1]   5的下标:[1][1]
    3的下标:[0][2]   5的下标:[1][2]
    """
    # 1. 解法1
    for j in range(3):
        for i in range(2):
            print(arr[i][j],end=' ')
        print()
       
    # 2. 解法2
    for i in range(3):
       for j in range(2):
           print(arr[j][i],end=' ')
       print()
    


    2. 如果变为下图所示呢?

    arr=[
        [1,2,3],
        [4,5,6]
    ]
    
    # 1. 解法1
    for j in range(3):
        for i in range(1,-1,-1):
            print(arr[i][j],end=' ')
        print()
    
    # 2. 解法2
    for i in range(3):
       for j in range(1,-1,-1):
           print(arr[j][i],end=' ')
       print()
       
    

    7. 练习2

    arr=[
        [1,2,3,4,5],
        [5,6,7,8,9],
        [3,4,5,6,7]
    ]
    
    arr.reverse() 
    
    for i in range(3):
        for j in range(5):
            print(arr[i][j],end=' ')
        print()
    
    打印结果:
    3 4 5 6 7 
    5 6 7 8 9 
    1 2 3 4 5
    
    物联沃分享整理
    物联沃-IOTWORD物联网 » python二维列表

    发表评论