Python 小技巧,如何跳出多层for循环

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 13:09   846   0

背景:

在学习 JavaScript 的时候,看到 JS 中有 label 语句,一般都用于 for 循环,由 continue 或 break 引用;使用 label 语句可以方便跳出 for 的多层循环;然后想到 Python 要如何实现 for 循环的多层跳出呢?以前一直没有考虑这个问题。

巧用 for ... else ... 解决(也是参考了https://blog.csdn.net/u012814856/article/details/78723071)

首先看下 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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP