写代码时,经常会遇到这样的情况:循环在处理一批数据,但其中某些项不符合条件,不想完全跳出循环,只想跳过当前这一次,继续跑后面的。这时候,就需要用到“循环控制继续执行”的技巧。
continue 关键字的作用
在多数编程语言中,比如 Python、Java、C++,都有一个叫 continue 的关键字。它的作用是:当中断当前循环体中的剩余语句,直接进入下一次循环的判断阶段。
举个生活化的例子:你每天上班坐公交,要经过 10 个站。但第 3 站和第 7 站是你不需要下车的,你只是看看站名,确认不是目的地就继续坐着。这个“看看就跳过”的动作,就像程序里的 continue。
for i in range(1, 11):
if i == 3 or i == 7:
continue
print(f"正在处理第 {i} 个站点")
运行结果会跳过第 3 和第 7 次输出,其他照常执行。这就是“继续执行”的核心逻辑——不终止整个流程,只略过当前这轮。
实际应用场景
假设你在整理一堆用户注册信息,需要过滤掉邮箱格式不正确的记录,但又不能因为一条出错就停止处理其余用户。这时候就可以用 continue 跳过非法数据。
users = [
{"name": "张三", "email": "zhangsan@example.com"},
{"name": "李四", "email": "lisi.invalid"},
{"name": "王五", "email": "wangwu@company.org"}
]
for user in users:
if "@" not in user["email"]:
continue
print(f"发送欢迎邮件至:{user['name']} <{user['email']}>")
上面这段代码会自动跳过李四,因为他邮箱里没有 @ 符号,系统直接进入下一个用户处理,不会影响王五收到邮件。
与 break 的区别
很多人容易混淆 continue 和 break。break 是彻底退出循环,就像坐公交时突然决定不去了,直接下车;而 continue 只是跳过当前这一站,车还继续往前开。
再比如你写了个下载任务,遍历一个文件列表。如果某个文件已被下载,就用 continue 跳过它;但如果网络断了,就得用 break 停止所有后续操作。
files = ['a.pdf', 'b.pdf', 'c.pdf']
downloaded = ['b.pdf']
for file in files:
if file in downloaded:
print(f"{file} 已存在,跳过")
continue
print(f"正在下载 {file}")
这种控制方式让程序更灵活,既能保持流程运转,又能智能跳过冗余或无效步骤。