python中的双重循环,python中断这次循环,进入下次循环使用

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: