Python 嵌套循环

2025 年 8 月 5 日 | 阅读 7 分钟

引言

循环是编程中的一个基本概念,它允许我们重复执行一段代码。在 Python 中,有各种类型的循环,而嵌套循环是一个强大的概念。

当您将一个循环放在另一个循环内部时,就会发生嵌套循环。这种结构使您能够执行复杂的迭代并处理多维数据结构。我们常用的两种循环类型是 for 循环和 while 循环。当我们使用 while 循环中的 for 循环或反之亦然时,就会创建嵌套循环。

在本教程中,我们将详细介绍 Python 中的嵌套循环,包括其语法和不同的示例,以理解它们的执行。

嵌套循环的语法

在嵌套循环结构中,内部循环在外部循环的每次迭代中执行其全部迭代。这会产生一套完整的组合。

嵌套循环的示例

让我们通过一些有趣的 Python 编程概念来理解嵌套循环

示例 1:Python 中的基本嵌套循环程序

示例

输出

10 30
10 40
20 30
20 40

示例 2:使用嵌套循环打印乘法表

在此示例中,我们使用嵌套循环生成 1 到 10 的乘法表。在此示例中,我们将使用两个 for 循环来迭代 1 到 10 的数字并打印它们的乘法结果。

示例

输出

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

说明

  • 外部循环 (i) 从 1 迭代到 10,以控制表的行。
  • 内部循环 (j) 也从 1 迭代到 10,以在该行中打印值。
  • i * j 给出当前行号和列号的输出。
  • end='\t' 确保输出保持在同一行,并且值之间有制表符。
  • 一行完全打印后,print() 将光标移到下一行。

示例 3. 使用内部和外部循环打印图案

模式打印问题通常在面试中被问到。原因是检查您对嵌套循环的掌握程度。让我们通过使用嵌套循环创建简单模式来理解这一点。

示例

输出

*
* *
* * *
* * * *
* * * * *

说明

  • 我们调用了一个 for 循环,其中 'i' 的值代表三角形的行。外部 for 循环将运行 5 次。因此,将打印 5 行 '*'。
  • 第二个 for 循环是内部循环,它控制每行打印多少个 * 符号。
  • print('*', end=' ') 语句用于打印一个星号 *,后面跟一个空格,end=' ' 确保下一个星号打印在同一行。
  • 最后一个 print() 语句打印一个换行符,因此下一行星号会从下一行开始。

示例 4:合并 for 循环和 while 循环

示例

输出

start the for loop
I am Reema
I am Ayon
I am tpointtech
Ending the for loop

start the for loop
You are Reema
You are Ayon
You are tpointtech
Ending the for loop

说明

  • 在上面的程序中,我们声明了两个列表:list1 和 list2。
  • 变量 list2_size 存储 list2 中存在的元素数量。
  • 外部循环将运行两次,每次迭代 list1 中的一个字符串。
  • 在外部循环内,使用变量 i 的 while 循环,从 0 开始。只要变量 'I' 小于 list2 的大小,while 循环就会运行。
  • i += 1 增量计数器以移至 list2 中的下一个名称。

在嵌套循环中使用 break

break 语句在 Python 程序中用于在满足条件时退出内部循环。

示例

输出

2 * 1 = 2

3 * 1 = 3
3 * 2 = 6

说明

在上面的示例中,当 i == j(当两个值相等时),内部循环将中断。因此,对于 2,它在第一次匹配后停止;对于 3,它在 j == 3 后停止。

在嵌套循环中使用 continue

如果您不想完全中断,而只是跳过特定迭代怎么办?这时 continue 语句就派上用场了。如果满足条件,continue 语句可以停止循环的当前迭代并继续下一迭代。

让我们通过一个例子来理解这一点。

示例

输出

2 * 1 = 2
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 10 = 20

3 * 1 = 3
3 * 2 = 6
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
3 * 10 = 30

说明

  • 外部循环 (i) 从 2 迭代到 3。因此,它将返回 2 和 3 的乘法表。
  • 内部循环 (j) 对 i 的每个值从 1 迭代到 10。
  • 如果 i == j,则跳过内部循环迭代 - 但会继续进行下一个。
  • 打印完一个 i 值的所有集合后,空的 print() 添加了间距。

结论

Python 中的嵌套循环是处理复杂迭代和使用多维数据结构的强大概念。了解如何执行和使用嵌套循环对于处理日常编程挑战很重要。随着您继续探索 Python 编程,掌握嵌套循环将提高您高效解决 Python 编码问题的能力。

常见问题解答 / FAQ

问题 1. 什么是 Python 中的嵌套循环?

答案:当我们在一个循环内进行循环时,就会发生嵌套循环。在 Python 中,您可以在另一个循环中使用 for 循环或 while 循环来执行多次迭代,特别是在您想要处理多维数据的情况下。

问题 2:我们可以在 Python 嵌套循环中同时使用 Break 和 Continue 吗?

答案:是的,我们可以在 Python 的同一个循环中组合 break 和 continue。break 语句用于在满足条件时完全退出循环,而 Continue 语句则跳过其余代码,并在满足条件时继续循环的下一次迭代。

让我们通过一个例子来理解这一点

示例

输出

1
2
4
5
6

问题 3:如何在 Python 循环中避免过度嵌套?

答案:为防止多次嵌套,请遵循以下几点

  • 将您的代码分解成不同的可重用函数。
  • 始终使用有意义的变量名。
  • 尝试使用内置函数。
  • 始终重新评估代码的逻辑以寻找更简单的替代方案。

下一个主题Node-js-to-python