Python跳出多重循环的三种实用方法

阿橙
阿橙
发布时间:2026-10-13 | 1人浏览过
原创

本文详细介绍Python中跳出多重嵌套循环的三种常用方法:通过自定义异常抛出、将循环逻辑封装为函数并返回、以及利用for...else语句配合break。重点解析for...else的执行机制,帮助开发者在复杂嵌套场景下高效控制程序流程。

Python跳出多重循环的三种方法

方法1:利用自定义异常

方法一:自定义异常处理


# -*- coding:utf-8 -*-
 
"""
功能:python跳出循环
"""
# 方法1:自定义异常
 
 
class Getoutofloop(Exception):
  pass
try:
  for i in range(5):
    for j in range(5):
      if i == j == 2:
        raise Getoutofloop()
      else:
        print i, '----', j
except Getoutofloop:
  pass

方法2:将循环逻辑封装为函数,通过return语句退出

方法二:函数封装与return


# -*- coding:utf-8 -*-
 
"""
功能:python跳出循环
"""
# 方法2:封装为函数,return
 
 
def test():
  for i in range(5):
    for j in range(5):
      if i == j == 2:
        return
      else:
        print i, '----', j
 
test()

方法3:使用for...else...语句结构

方法三:for...else语句机制


# -*- coding:utf-8 -*-
 
"""
功能:python跳出循环
"""
# 方法2:for...else...用法,用于跳出指定循环层
 
for i in range(5):
  for j in range(5):
    for k in range(5):
      if i == j == k == 3:
        break
      else:  
        print i, '----', j, '----', k
    else:    # else1
      continue
    break    # break1
  else:      # else2
    continue
  break      # break2

方法3原理解析: (1)break语句仅能终止当前所在的这一层循环(即跳过该层本次及剩余的迭代),但无法直接跳出外层循环。

举例说明,当最内层的第3重循环执行break后,程序控制流会回到第2重循环,继续执行第2重循环的下一次迭代,随后第3重循环会再次被触发执行。

(2)continue语句用于跳过当前循环的某一次迭代,但该层循环的剩余迭代次数仍会继续执行。

(3)for...else结构中的else块,仅在for循环完整遍历完所有元素且未被break中断时才会执行;若循环过程中遇到break,else块将被跳过。

(4)在方法3的实现中,当第3重循环满足条件i == j == k == 3时,触发break,导致并列的else1被跳过,进而执行break1,这使得第2重循环终止。

由于第2重循环被break1终止,其对应的else2也被跳过,从而执行break2,最终导致第1重循环终止。

通过这种层层传递的break机制,最终实现了跳出整个多重循环的目标。

for...else结合break的示例代码:

for...else语句详细示例


# -*- coding:utf-8 -*-
 
"""
功能:for...else语句
"""
 
for i in range(5):
  print i
else:
  print u"循环完整执行一次。"
 
for j in range(6):
  for k in range(6):
    print j, k
    if j == 3:
      print u"内重循环即将被break"
      break
  else:
    print u"内重循环完整执行一次。"
else:
  print u"外重循环完整执行一次。"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表