当前位置:   article > 正文

python二维列表

python二维列表

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]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3. “读” 二维列表

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

arr = [
    [0,1,2],
    [0,1,2]
]

print(arr[0][1]) # 1
print(arr[1][0]) # 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4. “写” 二维列表

arr = [
    [],[]
]

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

结果:[[1, 2, 3], [4, 5, 6]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
arr = [
    [0,1],[0,1]
]

arr[0][1] = 3
arr[1][1] = 6

打印结果:[[0, 3], [0, 6]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5. 遍历二维列表

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

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述
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()
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/201744
推荐阅读
相关标签
  

闽ICP备14008679号