首页 > 解决方案 > 如何在python中一次从多个for循环中中断

问题描述

inc = 0
for i in range(100):
  for j in range(5):  
    print("before",inc)
    inc = inc + 1
    print("after",inc)
    if inc == 1:
      break

这是最低限度的代码。我想一次打破所有循环,是的,我确实知道我在这个网站上找到的方法我找到的方法

inc = 0
done = None
for i in range(100):
  for j in range(5):  
    print("before",inc)
    inc = inc + 1
    print("after",inc)
    if inc == 1:
      done = True
      break
  if done:
    break

但是如果有超过 4 个循环或者代码有点复杂,上述方法会太长太乏味。是否有可以提供帮助的功能/库?

标签: python

解决方案


在内部循环中使用 else - 如果内部 for 循环中断,则不会执行 else 并且外部循环将中断,反之亦然

inc = 0
for _ in range(100):
    for _ in range(5):  
        print("before",inc)
        inc += 1
        print("after",inc)
        if inc == 1:
            break
    else:
        continue 
    break

推荐阅读