for 循环是 Python 中另一种常用的循环语句,主要用于遍历序列(如列表、元组、字符串等)中的元素,或者进行已知次数的循环。与传统的 for 循环(通过索引来控制循环次数)不同,Python 的 for 循环是基于迭代器的,直接遍历序列中的每个元素。
语法
for 变量 in 可迭代对象:
# 循环体
# 执行的代码块
变量:每次迭代时,变量 会获得序列中的一个元素。
可迭代对象:可以是列表、元组、字符串、字典等。
示例 1:遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
输出:
apple
banana
cherry
示例 2:遍历字符串
word = "hello"
for char in word:
print(char)
输出:
h
e
l
l
o
示例 3:使用 range() 函数进行数字循环
range() 函数用于生成一个整数序列,常用于 for 循环中,尤其是在需要特定次数的循环时。
for i in range(5): # 生成 0 到 4 的数字
print(i)
输出:
0
1
2
3
4
range() 函数可以接受三个参数:range(start, stop, step):
start:开始值(默认为 0)
stop:结束值(不包括此值)
step:步长(默认为 1)
for i in range(1, 10, 2): # 从 1 开始,到 9 结束,步长为 2
print(i)
输出:
1
3
5
7
9
示例 4:遍历字典
字典是由键值对组成的,for 循环可以遍历字典的键、值或键值对。
person = {"name": "John", "age": 30, "city": "New York"}
for key in person:
print(key, person[key]) # 遍历字典的键和值
输出:
name John
age 30
city New York
你也可以使用 .items() 来遍历键值对:
for key, value in person.items():
print(key, value)
输出:
name John
age 30
city New York
示例 5:嵌套 for 循环
for 循环可以嵌套使用,即在一个循环中再使用另一个 for 循环,适用于多维结构(如列表的列表)。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for col in row:
print(col, end=" ")
print() # 打印换行
输出:
1 2 3
4 5 6
7 8 9
示例 6:else 和 for 循环
else 子句与 for 循环配合使用时,它会在循环正常结束后执行(没有通过 break 提前退出时)。
for i in range(5):
print(i)
else:
print("循环正常结束。")
输出:
0
1
2
3
4
循环正常结束。
如果 for 循环中使用了 break 提前退出,则 else 部分不会执行:
for i in range(5):
print(i)
if i == 2:
break # 提前退出
else:
print("循环正常结束。") # 不会执行
输出:
0
1
2
示例 7:continue 和 for 循环
continue 用于跳过当前循环的剩余部分,直接进入下一次循环。
for i in range(5):
if i == 3:
continue # 跳过打印 3
print(i)
输出:
0
1
2
4
示例 8:break 和 for 循环
break 用于提前退出循环,通常在满足某个条件时使用。
for i in range(5):
if i == 3:
break # 当 i 等于 3 时,退出循环
print(i)
输出:
0
1
2
总结
for 循环:适用于遍历序列或迭代器,执行已知次数的循环。
range() 函数:用于生成数字序列,常用于控制循环次数。
continue 语句:跳过当前循环的剩余部分,进入下一次循环。
break 语句:提前退出循环。
else 语句:循环正常结束时执行,若使用 break 提前退出循环,else 不会执行。