📜  使用单循环打印2D阵列或矩阵(1)

📅  最后修改于: 2023-12-03 15:36:38.521000             🧑  作者: Mango

使用单循环打印2D阵列或矩阵

打印一个二维阵列或矩阵是常见的编程任务之一。我们可以使用双重循环来遍历每个元素并打印它,但是有时单循环可能更有效率。在这个介绍中,我们将学习如何使用单循环来打印一个2D矩阵。

打印一个二维矩阵

让我们从一个简单的二维矩阵开始。假设我们有一个三行三列的矩阵,如下所示:

matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

我们可以使用单循环来逐行访问这个矩阵并打印每个元素。

for row in matrix:
    for item in row:
        print(item, end=' ')
    print()

输出:

1 2 3 
4 5 6 
7 8 9 

在这个例子中,外层循环遍历每一行,而内层循环遍历每个元素。我们使用 end=' ' 来指定打印完元素后不换行,并且在外层循环的每一次迭代之后打印一个空行来实现每行打印完后换行。

打印一个矩形

现在,我们将打印一个矩阵的子集。假设我们有一个5行7列的矩阵,我们只想打印其中前三行和前四列的子矩阵。我们可以使用以下代码来实现。

matrix = [[1, 2, 3, 4, 5, 6, 7],
          [8, 9, 10, 11, 12, 13, 14],
          [15, 16, 17, 18, 19, 20, 21],
          [22, 23, 24, 25, 26, 27, 28],
          [29, 30, 31, 32, 33, 34, 35]]

rows = 3
cols = 4

for i in range(rows):
    for j in range(cols):
        print(matrix[i][j], end=' ')
    print()

输出:

1 2 3 4 
8 9 10 11 
15 16 17 18 

我们使用两个循环变量 ij 来访问子矩阵中的每个元素。循环的范围取决于子矩阵的大小,我们使用 range(rows)range(cols) 来设置。

总结

使用单循环来打印2D阵列或矩阵是一种有效率的方法,特别是当我们只需要遍历它的一部分时。通过逐行访问和逐个遍历每个元素,我们可以方便地实现这个功能。