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]
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
- 将二维列表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