通常,Python中比较常用的是if 、 else语句
,有一次看到了 for/while、 else
在一起突然有些奇怪,后来发现他们是可以放在一起使用的。
1. for-else statment
以下面代码为例:
lt = [1,2,3,4,5,6,7]
for i in lt:
if i <5:
print("if",i)
# break
else:
print("if-else",i)
else:
print("for-else",i)
输出结果:
if 1
if 2
if 3
if 4
if-else 5
if-else 6
if-else 7
for-else 7
可以看出if-else语句
输出全部的元素判断结果
,在for-else语句中,else部分只输出最后一个不符合的元素
。
lt = [1,2,3,4,5,6,7]
for i in lt:
if i <5:
print("if",i)
break ### 启用break
else:
print("if-else",i)
else:
print("for-else",i)
若在if中启动break函数,那么整体都会退出,输出结果为:
if 1
当然也可以只执行else:
list = [1,2,3,4,5]
for x in list:
continue
print(x)
else:
print("else")
输出结果:
else
2. while-else statment
while语句和for类似:
a=3
b=0
while b<a:
b += 1
continue
print(b)
# break
else:
print("else")
无论在for-else还是while-else语句,遇到break,则不执行else部分。若是continue,则可以执行else。
参考:
https://blog.csdn.net/CSND_Ayo/article/details/70341484
https://www.zhihu.com/question/37076998