实用网络站
白蓝主题五 · 清爽阅读
首页  > 电脑进阶

循环控制continue:跳过某次循环的实用技巧

循环控制continue:跳过某次循环的实用技巧

写代码时,经常会遇到一种情况:在循环过程中,某些特定条件下的数据我们不希望处理,但又不想直接退出整个循环。这时候,continue 就派上用场了。

比如你在写一个程序,用来处理一组学生成绩。你只想统计及格学生的平均分,不及格的直接跳过。这时候如果用 if-else 嵌套,逻辑会越来越深。而用 continue,可以让代码更清爽。

continue 是怎么工作的?

continue 的作用是跳过当前这一次循环的剩余语句,直接进入下一次循环的判断。它不会终止整个循环,只是“这次我先不管,继续下一轮”。

来看一个简单的 Python 例子:

for i in range(5):
    if i == 2:
        continue
    print(i)

输出结果是:

0
1
3
4

可以看到,当 i 等于 2 时,continue 被触发,print(i) 这行没有执行,程序直接跳到了 i=3 的那一轮。

实际应用场景:过滤无效数据

假设你从网页爬取了一组价格数据,但里面夹杂着一些缺失值或异常标记(比如 -1),你希望在计算总价时自动跳过这些无效项。

prices = [100, 50, -1, 80, -1, 120]
total = 0

for price in prices:
    if price == -1:
        continue
    total += price

print(total)  # 输出 350

这里用 continue 快速过滤掉了无效价格,避免在累加时出错。比起把所有逻辑塞进 else 分支,这种方式读起来更顺畅。

在嵌套循环中使用 continue

注意:continue 只会影响它所在的那一层循环。如果是在内层循环中使用,外层循环不会受影响。

for i in range(2):
    for j in range(3):
        if j == 1:
            continue
        print(f'i={i}, j={j}')

输出:

i=0, j=0
i=0, j=2
i=1, j=0
i=1, j=2

每次 j 等于 1 时,内层循环跳过打印,但外层依然正常运行。

这种特性在处理二维数据、表格遍历或者多层筛选时特别有用。比如导出用户数据时,跳过某个字段为空的记录,但不影响其他用户的处理流程。

和 break 的区别别搞混

有些人容易把 continuebreak 搞混。简单说:break 是彻底“散伙,不干了”,直接跳出循环;而 continue 是“我这轮请假,下轮还来”,只是跳过当前这一次。

举个生活化的例子:你在排队领免费冰淇淋,规则是每人限领一份。如果你发现前面那个人已经领过了(重复领取),你可以选择:

  • continue:跳过他,继续看下一个人有没有领过;
  • break:算了,不发了,队伍解散。

显然,在大多数数据处理场景中,我们更需要的是“跳过异常,继续处理”,而不是直接中断。