亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

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

  1. 掌握 C# while 与 do-while 循环:语法、示例与最佳实践
  2. 掌握 C# for 循环:语法、执行流程与实战示例
  3. C# break 语句:用法、时机与实战示例
  4. 掌握 C# continue 语句:高效跳过循环迭代的实战指南
  5. 掌握 C++ break 语句:跳出循环与 switch 的核心控制流
  6. C 语言 for 循环完全指南:语法、机制与实战示例
  7. Python语句、缩进与注释:清晰指南
  8. 精通Python Pass语句:实战指南
  9. Python 循环完全指南:for、while、break、continue、enumerate 详解
  10. 精通 Python range() 函数:从基础到高级用法
  11. 精通 Python enumerate():为列表、元组、字符串、字典带索引循环
  12. Java 回文数判断:while 循环与 for 循环两种算法实现