Python 中的 for...else 语句
在编程中,我们使用循环来迭代不同类型的对象。由于其简单性,for
循环是使用最广泛的循环之一。
Python 有一个与 for
循环相关的非常有趣的特性。它允许我们使用 else
语句和 for
循环来组合条件执行和迭代。else
关键字通常用于 if-else 语句中,当 if 条件返回 false 时,我们使用它来执行一些命令。
然而,当我们在 Python 中使用 for
循环时,情况并非如此。考虑到循环在任何迭代中都没有遇到 break
语句,循环结束时,else
块中的语句将根据完成子句执行。break
语句用于中断循环。如果没有遇到 break
语句,则在循环之后也会执行 else
块语句。
如果遇到 continue
语句,则执行 else
语句。这是因为 continue
语句会强制进行下一次迭代。它不会打破循环。
请参考以下代码。
for i in range(3):
if i > 5:
break
else:
print("Else Statements")
for i in range(3):
if i > 1:
print("Break")
break
else:
print("Else Statements")
for i in range(3):
if i > 1:
continue
else:
print("Else Statements after Continue")
输出:
Else Statements
Break
Else Statements after Continue
现在,for...else
的使用不被许多有经验的程序员所接受,因为它可能会导致对 else
关键字的使用产生混淆。但是,它在 Python 中仍然有一些有用的应用程序。
例如,如果我们在列表中搜索一个元素并希望知道它是否存在于列表中,我们可以使用它。以下代码片段实现了这一点。
a = 15
lst = [10, 5, 6, 8, 9, 7, 5, 11]
for i in lst:
if i == 15:
print("Found")
break
else:
print("Not Found Loop Over")
输出:
Not Found Loop Over
else
关键字的使用不仅限于 for
循环,也可以与 Python 中的 while
循环一起使用。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn