系统讲解 Python for 循环的基本语法、常用场景及控制结构,涵盖列表、字典、range 等遍历方式。通过杨辉三角打印和数独求解器两个综合案例,展示了嵌套循环、回溯算法在实际编程中的应用,帮助读者深入理解循环逻辑与数据结构处理。
芝士奶盖4 浏览
Python for 循环详解
for 循环是 Python 中最核心的迭代结构,它能够遍历任何可迭代对象(如列表、元组、字符串、字典、集合、文件对象等),并对每个元素执行指定的操作。与其他语言(如 C 的 for (i=0; i<n; i++))不同,Python 的 for 更接近'foreach'风格,专注于遍历序列或集合中的元素,语法简洁且功能强大。
本文将系统讲解 for 循环的基本语法、常用场景,并通过杨辉三角打印和数独求解器两个综合案例,展示 for 循环在实际编程中的灵活应用。
1. 基本语法与常用场景
1.1 语法结构
for 变量 in 可迭代对象:
# 循环体else:
# 可选,当循环正常结束(没有被 break 中断)时执行
变量:每次迭代从可迭代对象中取出一个元素赋值给该变量。
可迭代对象:包括列表、元组、字符串、字典、集合、range 对象、文件对象、生成器等。
循环体:需要重复执行的代码块,注意缩进。
else 子句:可选,当循环未被 break 终止时执行。
1.2 常用遍历场景
遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃 {fruit}")
# 输出:# 我喜欢吃 苹果# 我喜欢吃 香蕉# 我喜欢吃 橙子
遍历元组
coordinates = (10, 20, 30)
for coord in coordinates:
print(f"坐标值:{coord}")
遍历字符串(字符序列)
message = "Python"for char in message:
print(char, end="-")
# 输出:P-y-t-h-o-n-
遍历字典
person = {"name": "张三", "age": 30, "city": "北京"}
# 遍历键(默认)for key in person:
print(key)
# 输出:name age city# 遍历值for value in person.values():
print(value)
# 输出:张三 30 北京# 同时遍历键和值for key, value in person.items():
print(f"{key}: {value}")
# 查找第一个偶数
numbers = [1, 3, 5, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"找到偶数:{num}")
break# 立即退出循环# 跳过偶数,打印奇数for num in numbers:
if num % 2 == 0:
continue# 跳过本次循环剩余部分print(num)
for...else 结构
# 检查列表中是否有偶数
numbers = [1, 3, 5, 7, 9]
for num in numbers:
if num % 2 == 0:
print("发现偶数!")
breakelse:
print("没有偶数。") # 因为循环未被 break,所以执行
列表推导式(简洁的 for 循环)
# 生成 0~9 的平方列表
squares = [x**2for x inrange(10)]
print(squares)
# 输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]# 带条件的推导式(只保留偶数)
even_squares = [x**2for x inrange(10) if x % 2 == 0]
print(even_squares)
# 输出:[0, 4, 16, 36, 64]
遍历文件对象
withopen("example.txt", "r", encoding="utf-8") as f:
for line in f:
print(line, end="") # 逐行打印