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
循环的执行流程
- 初始化迭代变量:从序列中的第一个元素开始,赋值给迭代变量。
- 执行循环体代码:对于当前迭代变量,执行循环体中的代码。
- 继续下一个元素:移动到序列的下一个元素,重复上述过程,直到遍历完所有元素。
- 结束循环:当序列中的所有元素都被遍历后,
for
循环结束。
3. 使用 range()
生成数值序列
for
循环经常和 range()
函数一起使用来生成数值序列。range()
函数可以生成一系列数字,常用于需要固定次数迭代的场景。
-
range(stop)
:生成从 0 到stop - 1
的数字。 -
range(start, stop)
:生成从start
到stop - 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. 使用 break
和 continue
控制 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
循环的实际应用场景
- 批量处理数据
-
for
循环通常用于批量处理列表中的数据。例如对多个文件进行相同的操作,或者计算一个列表中所有数值的和。
numbers = [10, 20, 30, 40, 50]
total = 0
for num in numbers:
total += num
print("总和为:", total)
- 查找数据
- 例如查找列表中的特定元素,找到后结束循环。
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
if fruit == "橙子":
print("找到了橙子!")
break
- 结合条件进行操作
- 结合条件语句和
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()
函数的用法、以及控制循环的 break
和 continue
,可以使我们的代码更加简洁和高效。理解 for
循环并能够熟练使用它,是编写高质量 Python 程序的基础。