Python 循环完全指南:for、while、break、continue、enumerate 详解
Python 循环完全指南:for、while、break、continue、enumerate 详解
循环是迭代编程的基石。它们让你重复执行代码块直到满足条件。Python 提供两种主要循环构造:for(迭代器)和 while(条件驱动)。
什么是循环?
循环反复运行一组语句。Python 中循环用于处理集合、生成序列、或运行任务直到停止标准达成。
For 循环(迭代器)
for 循环遍历可迭代对象的项——列表、元组、字符串、range。迭代器耗尽自动停止,比手动跟踪索引更安全。
x = 0
for x in range(2, 7):
print(x)
输出:
2
3
4
5
6
While 循环(条件驱动)
while 循环在布尔表达式为 True 时重复。适合迭代次数未知的场景。
x = 0
while x < 4:
print(x)
x += 1
输出:
0
1
2
3
遍历非数值集合
for 循环无缝处理字符串等集合:
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
print(m)
输出:
Jan
Feb
Mar
Apr
May
Jun
break 跳出循环
break 立即终止循环。满足条件需提前退出时很有用。
for x in range(10, 20):
if x == 15:
break
print(x)
输出:
10
11
12
13
14
continue 跳过本次迭代
continue 跳过当前迭代剩余代码,直接进入下一轮。
for x in range(10, 20):
if x % 5 == 0:
continue
print(x)
输出:
11
12
13
14
16
17
18
19
enumerate() 带索引循环
内置 enumerate() 为可迭代对象添加计数器,返回索引-值对。
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for i, m in enumerate(months):
print(i, m)
输出:
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun
重复执行语句多次
可用数字字符串或 range 重复消息:
for i in '123':
print('guru99', i)
输出:
guru99 1
guru99 2
guru99 3
综合示例对照表
| 循环类型 | 代码 |
|---|---|
| While 循环 | x = 0
while x < 4:
print(x)
x += 1 |
| For 循环(数值) | for x in range(2, 7):
print(x) |
| For 循环(字符串) | months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
print(m) |
| For 循环中 break | for x in range(10, 20):
if x == 15: break
print(x) |
| For 循环中 continue | for x in range(10, 20):
if x % 5 == 0: continue
print(x) |
| For 循环中 enumerate | months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for i, m in enumerate(months):
print(i, m) |
Python 2 兼容性
以上为 Python 3 语法。Python 2 需将 print() 改为 print 语句,调整 range 行为。
# While 循环
x = 0
while x < 4:
print x
x += 1
# For 循环
for x in range(2, 7):
print x
# 字符串遍历
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
print m
# break 示例
for x in range(10, 20):
if x == 15: break
print x
# continue 示例
for x in range(10, 20):
if x % 5 == 0: continue
print x
# enumerate 示例
for i, m in enumerate(months):
print i, m
输出:
0
1
2
3
2
3
4
5
6
Jan
Feb
Mar
Apr
May
Jun
10
11
12
13
14
11
12
13
14
16
17
18
19
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun
更多深度参考官方 Python 控制流教程。
Python
- 掌握 C# while 与 do-while 循环:语法、示例与最佳实践
- 掌握 C# for 循环:语法、执行流程与实战示例
- C# break 语句:用法、时机与实战示例
- 掌握 C# continue 语句:高效跳过循环迭代的实战指南
- 掌握 C++ break 语句:跳出循环与 switch 的核心控制流
- C 语言 for 循环完全指南:语法、机制与实战示例
- Python语句、缩进与注释:清晰指南
- 精通Python Pass语句:实战指南
- Python 循环完全指南:for、while、break、continue、enumerate 详解
- 精通 Python range() 函数:从基础到高级用法
- 精通 Python enumerate():为列表、元组、字符串、字典带索引循环
- Java 回文数判断:while 循环与 for 循环两种算法实现