for 循环

for 循环是 Python 中另一种非常常用的循环控制结构,用于遍历一个序列(例如列表、元组、字符串等),并对序列中的每一个元素执行操作。相比于 while 循环,for 循环更加适合用于那些知道要执行多少次的场景,尤其是遍历容器类型的数据时。通过 for 循环,开发者可以更简洁和高效地进行迭代操作。

1. for 循环的基本结构

for 循环的基本语法如下:

for 变量 in 序列:
    # 循环体代码块
    执行的操作
  • 变量:在每次循环时,变量 会被赋值为序列中的一个元素。
  • 序列:可以是任何可迭代对象,如列表、元组、字符串、字典,甚至是 range() 函数生成的数值序列。
  • 循环体代码块:对序列中的每一个元素执行的代码。

示例:

numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print("当前数字:", num)

在这个例子中,for 循环遍历列表 numbers 中的每一个数字,并在每次迭代中打印当前数字。整个循环会自动遍历完所有元素。

2. for 循环的执行流程
  1. 初始化迭代变量:从序列中的第一个元素开始,赋值给迭代变量。
  2. 执行循环体代码:对于当前迭代变量,执行循环体中的代码。
  3. 继续下一个元素:移动到序列的下一个元素,重复上述过程,直到遍历完所有元素。
  4. 结束循环:当序列中的所有元素都被遍历后,for 循环结束。
3. 使用 range() 生成数值序列

for 循环经常和 range() 函数一起使用来生成数值序列。range() 函数可以生成一系列数字,常用于需要固定次数迭代的场景。

  • range(stop):生成从 0 到 stop - 1 的数字。
  • range(start, stop):生成从 startstop - 1 的数字。
  • range(start, stop, step):生成从 start 开始,每次增加 step,直到 stop - 1 的数字。

示例:

# 打印 0 到 4
for i in range(5):
    print(i)

# 打印 1 到 5
for i in range(1, 6):
    print(i)

# 打印 1, 3, 5, 7, 9
for i in range(1, 10, 2):
    print(i)
4. for 循环遍历字符串和其他容器

for 循环不仅可以遍历列表,还可以遍历其他容器类型,如字符串、字典等。

  • 遍历字符串
text = "Python"
for char in text:
    print("当前字符:", char)

在这个例子中,for 循环遍历字符串 text 中的每一个字符,并打印出来。

  • 遍历字典
student_scores = {"Alice": 85, "Bob": 92, "Charlie": 78}
for name, score in student_scores.items():
    print(f"学生:{name},分数:{score}")

在这个例子中,for 循环遍历字典 student_scores 中的每一个键值对,打印出学生的姓名和对应的分数。

5. 嵌套 for 循环

for 循环还可以嵌套使用,来处理多层数据结构,例如遍历二维列表。

示例:

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

for row in matrix:
    for value in row:
        print(value, end=" ")
    print()  # 换行

在这个例子中,外层 for 循环遍历矩阵中的每一行,而内层 for 循环遍历每行中的每一个元素,并将其打印出来。

6. 使用 breakcontinue 控制 for 循环
  • break 语句:用于立即结束整个循环。
  • continue 语句:用于跳过当前迭代的剩余部分,直接进入下一次循环。

示例:

for num in range(1, 10):
    if num == 5:
        continue  # 跳过数字 5
    if num == 8:
        break  # 遇到数字 8 时结束循环
    print("当前数字:", num)

在这个例子中,当 num 等于 5 时,continue 语句会跳过当前迭代,不打印 5。当 num 等于 8 时,break 语句会立即结束整个循环。

7. for 循环的实际应用场景
  1. 批量处理数据
  • for 循环通常用于批量处理列表中的数据。例如对多个文件进行相同的操作,或者计算一个列表中所有数值的和。
numbers = [10, 20, 30, 40, 50]
total = 0
for num in numbers:
    total += num
print("总和为:", total)
  1. 查找数据
  • 例如查找列表中的特定元素,找到后结束循环。
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
    if fruit == "橙子":
        print("找到了橙子!")
        break
  1. 结合条件进行操作
  • 结合条件语句和 for 循环,可以对数据进行筛选和处理。例如,筛选出列表中所有偶数并打印。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for num in numbers:
    if num % 2 == 0:
        print("偶数:", num)
小结

for 循环是一种强大的迭代工具,特别适合用于遍历已知长度的序列,如列表、元组、字符串和字典等。在实际编程中,for 循环广泛应用于数据处理、查找、筛选等场景。通过掌握 for 循环的基本语法、结合 range() 函数的用法、以及控制循环的 breakcontinue,可以使我们的代码更加简洁和高效。理解 for 循环并能够熟练使用它,是编写高质量 Python 程序的基础。