Python二维列表(列表嵌套)
二维列表相当于二维数组。
一、创建二维列表
1、直接定义
>>> a=[[1,2,3],[4,5,6],[7,8,9]]
2、循环嵌套定义:
>>> a=[]
>>> for i in range(3):
a.append([])
for j in range(3):
a[i].append(i*3+j+1)
>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3、通过列表推导式:
>>> a=[[i*3 +j for j in range(1,4)] for i in range(3)]
>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
二、访问
主要通过下标索引。
>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> for i in range(3):
for j in range(3):
print(a[i][j],end=" ")
print()
1 2 3
4 5 6
7 8 9
三、应用
例:转置矩阵
方法一:列表推导式:
>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b = [[r[c] for r in a] for c in range(len(a[0]))]
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
方法2:列表推导式2:
>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b = [[a[r][c] for r in range(3)] for c in range(4)]
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
方法3:使用循环
>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b=[]
>>> for i in range(4):
b.append([r[i] for r in a])
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
方法4:使用循环:
>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b=[]
>>> for i in range(4):
b.append([])
for j in range(3):
b[i].append(a[j][i])
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
方法五:
>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b=[]
>>> for i in range(4):
bw = []
for rw in a:
bw.append(rw[i])
b.append(bw)
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
Python二维列表详解与应用
本文介绍了Python中二维列表的概念,包括如何通过直接定义、循环嵌套和列表推导式创建二维列表。还详细讲解了如何访问二维列表的元素,并提供了转置矩阵的多种实现方法,包括使用列表推导式和循环操作。
&spm=1001.2101.3001.5002&articleId=105184403&d=1&t=3&u=7782d839fe0a4d759f88ca0cf8be1a0d)
6326

被折叠的 条评论
为什么被折叠?



