python中的双重循环,python中断这次循环,进入下次循环使用
I. 跳出单循环
不管是什么编程语言,都可能有跳出循环的需要。比如枚举的时候,满足条件的数会被终止。跳出单一循环非常简单,比如:
对于范围(10):内的I
如果我5:
打印I
但是,有时我们需要跳出多个循环,而break只能跳出一个循环,比如:
对于范围(10):内的I
对于范围(10):内的j
如果我j 5:
打印I,j
这种代码不是说找到一组i j 5就停下来,而是连续找到10组,因为break只跳出range(10)中for j的重重循环。那么,如何才能跳出多重呢?在这个记录里做一个备忘录。
相关:《Python教程》
II. 跳出多重循环
其实Python的标准语法是不支持跳出多重循环的,所以只能用一些技巧。大致思路是:写函数,用笛卡尔积,用调试。
当然,最常见的想法是使用变量符号。
def f():
标志=0
对于范围(10):内的I
对于范围(i):中的j
如果我j5:
打印I,j
标志=1
破裂
如果标志==1:
破裂
if __name__==__main__:
写成函数
在Python中,函数运行到返回时就停止了,所以可以利用这个特性把函数写成函数,终止多重循环。
例如:
定义工作():
对于范围(10):内的I
对于范围(10):内的j
如果我j 5:
返回I,j
印刷作品()利用笛卡尔积
这种方法的思想是,既然我们可以跳出单循环,我就将多个循环改写成单循环,这可以利用itertools中的笛卡尔积函数积,例如:
从itertools导入产品
对于产品中的I,j(范围(10),范围(10)):
如果我j 5:
打印I,j
打破利用调试模式
笛卡尔积的方法巧妙简洁,但只能用在各圈的集合相互独立的情况下。如果每个周期与前一个周期密切相关,则不能使用该技术。这时候你可以用第一种方法,把它写成一个函数。此外,还可以使用调试模式。这利用了每当调试模式中有错误时退出的原则,并且它伪装了错误。
找到类(异常):
及格
尝试:
对于范围(10):内的I
在范围(I) : #中,第二个周期与第一个周期相关。
如果我j 5:
发现加薪
除了Found:
上面的Print i,j是检查Python多次循环中断的思路的详细内容。其他相关文章请多关注盛行的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。