背景:
在学习 JavaScript 的时候,看到 JS 中有 label 语句,一般都用于 for 循环,由 continue 或 break 引用;使用 label 语句可以方便跳出 for 的多层循环;然后想到 Python 要如何实现 for 循环的多层跳出呢?以前一直没有考虑这个问题。
首先看下 for ... else ... 的用法,else 是在 for 循环完成之后才运行的;
>>> for i in range(3): ... print(i) ... else: ... print('else content')
... 0 1 2 else content
如果我们在 for 循环中使用了 break 会怎么用?
>>> for i in range(3): ... break ... else: ... print('else content') ...
可以看到 'else content' 并没有输出,也就是说没有运行 else 语句。
可以将这个特性用于跳出 for 的多层循环:
>>> num = 0 >>> for i in range(10): ... for j in range(10): ... if i==5 and j==5: ... break ... num += 1 ... else: ... continue ... break ... >>> num 55 |