循环中的else
Python
Python循环中的else语句在循环未被break等终止,正常完成循环后执行
在 Python 中,循环(for
或 while
)可以搭配 else
语句使用,这是 Python 特有的语法结构,其作用与条件判断中的 else
有所不同。
循环中 else
的核心逻辑:
当循环正常执行完毕(没有被 break
语句中断)时,才会执行 else
块中的代码。
语法结构:
# for 循环搭配 else
for 变量 in 可迭代对象:
循环体else:
循环正常结束后执行的代码
# while 循环搭配 else
while 条件:
循环体else:
循环正常结束后执行的代码
示例说明:
1. 循环正常结束(执行 else
)
for i in range(3):
print(i)
else:
print("循环正常结束") # 会执行,因为循环自然结束
# 输出:
# 0
# 1
# 2
# 循环正常结束
2. 循环被 break
中断(不执行 else
)
for i in range(3):
print(i)
if i == 1:
break # 中断循环
else:
print("循环正常结束") # 不会执行,因为循环被break打断
# 输出:
# 0
# 1
3. while
循环的例子
= 3
n while n > 0:
print(n)
-= 1
n if n == 1:
break # 中断循环
else:
print("循环正常结束") # 不会执行
# 输出:
# 3
# 2
典型应用场景:
常用于「查找某元素」的逻辑中,当循环结束仍未找到目标时,通过 else
块处理“未找到”的情况,避免使用额外的标志变量。
例如,检查列表中是否存在偶数:
= [1, 3, 5, 7]
numbers for num in numbers:
if num % 2 == 0:
print(f"找到偶数:{num}")
break
else:
print("列表中没有偶数") # 循环正常结束(未找到),执行else
# 输出:列表中没有偶数
关键点总结:
- 循环的
else
与if-else
无关,仅与循环是否被break
中断有关 - 只要循环完整执行完毕(没有
break
),就会触发else
- 适用于需要区分“循环正常结束”和“循环被强制中断”的场景