python跳出多层for循环的方法

这篇具有很好参考价值的文章主要介绍了python跳出多层for循环的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在业务逻辑中有时候会遇到两层for循环的情况,触发某些条件时,需要直接退出两层for循环

而python官方是没有 goto 语句的那么我们可以这样实现

第一种定义变量flag,根据flag的值做退出

flag=True
for i in range(10):
    for j in range(10):
        if i+j>15 :
            print(i, j)
            flag=False
            break
    if not flag:
            break

第二种,在方法内用return

def ttt():
    for i in range(10):
        for j in range(10):
            if i+j>15 :
                print(i, j)
                return
 
ttt()

第三种,Python的for循环有else关键字,可以利用else和 comtinue、break跳出循环

def ttt():
    for i in range(10):
        for j in range(10):
            if i+j>15 :
                print(i, j)
                break
        else:
            continue
        break
 
ttt()

这段代码什么意思呢 python里面for...else...表示如果这个循环正常的走完了则会执行else里面的代码,异常退出则不会执行,我们对内层循环做判断,符合条件了break则内存循环异常退出,对应的else也不会执行,然后再下一行是break完成外层循环的退出

第四种,我们也可以利用抛出异常来退出

class over_loop(Exception): pass
 
def ttt():
    try:
        for i in range(10):
            for j in range(10):
                if i + j > 15:
                    print(i, j)
                    raise over_loop()
    except over_loop:
        pass
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441 
ttt()

这段代码是这样的,首先定义一个异常类,在循环中判断符合条件就抛出这个异常类,然后外层用try...except...包裹住,如果接收到是自己定义的这个异常类就pass掉完成函数或者循环的退出

代码没有好坏,只有合适,也许在某些业务逻辑下,后两种更好用一点。这个for...else...是一个巧思,虽然他本质还是一层一层退出,但是利用其break结束循环之后else就不会执行。也是个很新奇的做法。文章来源地址https://www.toymoban.com/news/detail-748192.html

到了这里,关于python跳出多层for循环的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JS】for 与 forEach 分别如何跳出循环

    for 循环 在 for 循环中,退出循环的两种方式: break; 退出整个循环 continue; 退出当次循环 break 退出整个循环 continue 退出当次循环 forEach 在JavaScript中, forEach 方法是用于遍历数组的方法,它会对数组中的每个元素执行指定的操作。 forEach 方法本身 并不提供直接的方式来跳出循

    2024年02月12日
    浏览(45)
  • JavaScript forEach 方法跳出循环

    这个问题平时工作中基本不会遇到,通常是面试时,有的面试官喜欢问这个,所以有了探讨的意义。 首先我们来看看 for 循环是怎么处理跳出的。 JavaScript中,for循环可以使用 break 和 continue 来跳出: continue:跳出本次循环 break:结束循环 了解了 for 循环跳出之后,forEach 如何

    2024年02月03日
    浏览(40)
  • jQuery each()方法跳出循环

    直接上代码 跳过本次循环 (相当于 javascript 中,for循环的 continue) 跳出所有循环(相当于 javascript 中,for循环的 break) 使用案例:

    2024年02月06日
    浏览(38)
  • 【Java】Java中使用HashMap优化多层for循环嵌套以及for循环之性能优化

    for循环是开发时常用的语法之一,比如对数组,集合的遍历等,但是如果使用不好也会出现很多新能损耗的问题,今天就来讲解一下for循环的常用性能优化问题。 for循环 里面还有 for循环, 然后做一些数据匹配、处理 这种场景。 m层嵌套的n次的for循环的时间复杂度为O(n^m),

    2024年02月16日
    浏览(45)
  • python中如何在多层循环中使用break/continue

    关于break/continue这两个在平常的使用过程中一直比较迷糊。好不容易理解了吧,过段时间不使用好像忘记了什么。这个问题也是很多初学者比较容易提及的问题。 先通过一个简单的单层循环来了解一下这两个的使用。 下面是执行以后的结果展示。 根据执行完成

    2024年02月02日
    浏览(46)
  • 在 Bash 中跳出循环

    使用循环是任何编程或脚本语言的常见任务。 使用循环时,有时我们需要在预定义的条件下停止它。 与其他编程和脚本语言一样,Bash 使用 break 来停止任何循环。 本文将展示如何停止循环的执行。 此外,我们将通过必要的示例和解释来讨论该主题,以使该主题更容易

    2024年02月08日
    浏览(35)
  • 跳出Lambda表达式forEach()循环解决思路

    在一次需求开发时,发现使用Lambda的forEach()跳不出循环。如下示例代码,想在遍历满足条件时跳出循环。 运行结果: 可以看出在forEach()中使用return并不会退出整个循环,和普通for循环return意义不同,仍会继续遍历。 在普通for循环中,跳出循环使用break,结束本次循环使用c

    2024年02月10日
    浏览(58)
  • 认识http的方法、Header、状态码以及简单实现一个http的业务逻辑

    方法 说明 支持的HTTP版本 GET 获取资源 1.0/1.1 POST 传输实体主体 1.0/1.1 PUT 传输文件 1.0/1.1 HEAD 获得报文首部 1.0/1.1 DELETE 删除文件 1.0/1.1 OPTIONS 询问支持方法 1.1 TRACE 追踪路径 1.1 CONNECT 要求用隧道协议连接代理 1.1 LINK 建立和资源之间的联系 1.0 UNLINE 断开连接关系 1.0 其中最为常见

    2024年02月13日
    浏览(35)
  • vscode 的代码提示有时候有,有时候没有(python)

    vscode 的代码提示有时候有,有时候没有。没有的时候出现如下报错: Sorry, something went wrong activating IntelliCode support for Python. Please check the “Python” and “VS IntelliCode” output windows for details. 不太清楚为什么,把 IntelliCode 的版本换了别的也不好用。 先存一下,以后遇到解决方法

    2024年02月09日
    浏览(80)
  • python + pytorch 多线程实现级联模型的业务逻辑

    如果 目标跟踪 的模型想要和图片分类的业务逻辑进行混合,该怎么实现? 下面,我们来看一个,基于YOLOv8 目标跟踪和 pytorch 图片分类,实现模糊场景下融合 一个简单的消息队列,进行逻辑判断的级联模型推理。

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包