Python进阶 For - Else
2018-06-13 本文已影响11人
FicowShen
for循环还有一个else从句,我们大多数人并不熟悉。这个else从句会在循环正常结束时执行。这意味着,循环没有遇到任何break,一旦你掌握了何时何地使用它,它真的会非常有用。
有个常见的构造是跑一个循环,并查找一个元素。如果这个元素被找到了,我们使用break来中断这个循环。
有两个场景会让循环停下来:
- 第一个是当一个元素被找到,break被触发。
- 第二个场景是循环结束。
现在我们也许想知道其中哪一个,才是导致循环完成的原因。一个方法是先设置一个标记,然后在循环结束时打上标记。另一个是使用else从句。
for item in container:
if search_something(item):
# Found it!
process(item)
break
else:
# Didn't find anything..
not_found_in_container()