Python 二维列表
在Python中,列表是一种非常常用的数据类型,它可以存储多个元素,并且这些元素可以是不同类型的数据,包括整数、浮点数、字符串等。而二维列表则是列表的一种特殊形式,它可以看作是列表中的列表,也就是说列表中的元素本身也是列表。
二维列表的定义
在Python中,我们可以用列表来表示二维数组或矩阵,其中每个元素又是一个列表。通过嵌套列表的方式实现二维列表的定义。
# 定义一个二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(matrix)
运行上面的代码,将会输出以下结果:
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
在这个示例中,我们定义了一个3×3的二维列表matrix
,其中包含了9个元素,每个元素是一个包含3个整数的列表。
访问二维列表的元素
我们可以通过指定行和列的索引来访问二维列表中的元素,例如要访问第二行第三列的元素,可以使用以下代码:
# 访问二维列表中的元素
print(matrix[1][2])
这将输出6
,因为第二行第三列的元素是6
。在Python中,列表和索引都是从0开始的,所以matrix[1]
表示第二行,matrix[1][2]
表示第二行第三列。
遍历二维列表
我们可以使用嵌套的循环来遍历二维列表中的所有元素,例如:
# 遍历二维列表
for row in matrix:
for elem in row:
print(elem, end=" ")
print()
运行上述代码将得到如下输出:
1 2 3
4 5 6
7 8 9
这段代码中的两个嵌套循环分别遍历每一行和每一列,打印出二维列表中的所有元素。
修改二维列表中的元素
我们可以通过索引来修改二维列表中的元素,例如将第一行第一个元素修改为10
:
# 修改二维列表中的元素
matrix[0][0] = 10
print(matrix)
这将修改矩阵第一行第一列的元素为10
,输出如下:
[[10, 2, 3],
[4, 5, 6],
[7, 8, 9]]
创建指定大小的二维列表
有时候我们需要创建一个指定大小的二维列表,可以使用列表推导式来实现。例如创建一个3×4的二维列表,所有元素初始化为0:
# 创建一个指定大小的二维列表
rows, cols = 3, 4
matrix = [[0 for j in range(cols)] for i in range(rows)]
print(matrix)
以上代码将得到一个3行4列的二维列表,所有元素均为0。
二维列表的常见操作
行列互换
有时候我们需要对二维列表进行行列互换操作,可以通过列表推导式来实现。以下是一个行列互换的示例:
# 行列互换
transpose = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
print(transpose)
这段代码将输出原二维列表的转置矩阵。
求和、最大值和最小值
我们可以使用内置函数来对二维列表进行汇总统计,例如求和、最大值和最小值:
# 求和
total = sum(sum(row) for row in matrix)
print("总和:", total)
# 最大值
max_elem = max(max(row) for row in matrix)
print("最大值:", max_elem)
# 最小值
min_elem = min(min(row) for row in matrix)
print("最小值:", min_elem)
这就完成了二维列表的求和、最大值和最小值的操作。
总结
二维列表在Python中是一种非常常用的数据结构,可以用来表示矩阵、表格等具有二维结构的数据。通过本文的介绍,我们学习了如何定义、访问、遍历、修改二维列表,以及一些常见的操作技巧。