python中退出多层循环的方法


Posted in Python onNovember 27, 2018

1、定义标记变量;利用变量值的变化退出循环

# 第一种嵌套形式
a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]
# init_i = 0
# init_j = 0
flag = True
for i in range(3):
  for j in range(3):
    # print(i, j)
    if a[i][j] == 5:
      flag = False
      init_i = i
      init_j = j
      break
  if not flag:
    break
print(init_i, init_j)
print(i, j)

# 第二种嵌套形式
flag = True
while flag:
  for i in range(10):
    print(x)
    flag = False
    break

 2、使用函数配合return关键字 实现跳出循环(在函数内部只要执行完return语句 则直接退出函数)

def test():
  while True:
    for x in range(10):
      print(x)
      return
test()

 3、利用else continue 和外层的break跳出循环

a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]
init_i = 0
init_j = 0
flag = True
for i in range(3):
  for j in range(3):
    # print(i, j)
    if a[i][j] == 5:
      flag = False
      init_i = i
      init_j = j
      break
  else:
    continue
  break
  # if not flag:
  #   break
print(init_i, init_j)
print(i, j)

while True:
  for x in range(4):
    print(x)
    if x == 2:
      break
  else:
    print("未执行")
    continue
  break

python跳出多层循环的方法

今天同事问我一个python面试题,关于python跳出多层循环,原来还真没用过,网上一查还真有点意思,下面记录一下:

Python 本身没有“break n” 和“goto” 的语法,这也造成了Python 难以跳出多层(特定层数)循环。下面是几个跳出多层(特定层数)循环的tip。

1、自定义异常

class getoutofloop(Exception): pass
try:
  for i in range(5):
    for j in range(5):
      for k in range(5):
        if i == j == k == 3:
          raise getoutofloop()
        else:
          print i, '----', j, '----', k
except getoutofloop:
  pass

2、封装为函数return

def test():
  for i in range(5):
    for j in range(5):
      for k in range(5):
        if i == j == k == 3:
          return
        else:
          print i, '----', j, '----', k
test()

3、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: continue
    break
  else: continue
  break

else在 while和for 正常循环完成之后执行,和直接写在 while和for 之后没有区别,但是如果用break结束循环之后else就不会执行了。这也是个很新奇的做法。

才知道原来可以作为跳出多层循环用。不过要是有多次跳出不同层的循环的需求,也没辙了。

总结

以上所述是小编给大家介绍的python中退出多层循环的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
Python遍历numpy数组的实例
Apr 04 Python
python2.7实现爬虫网页数据
May 25 Python
Django项目中包含多个应用时对url的配置方法
May 30 Python
python 画三维图像 曲面图和散点图的示例
Dec 29 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
Python创建临时文件和文件夹
Aug 05 Python
详解python的变量缓存机制
Jan 24 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
为什么Python中没有"a++"这种写法
Nov 27 #Python
django session完成状态保持的方法
Nov 27 #Python
Python3实现腾讯云OCR识别
Nov 27 #Python
python利用百度AI实现文字识别功能
Nov 27 #Python
python如何实现一个刷网页小程序
Nov 27 #Python
python实现简单的文字识别
Nov 27 #Python
python中类的属性和方法介绍
Nov 27 #Python
You might like
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
Python3.x中自定义比较函数
2015/04/24 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
英文简历中的自荐信范文
2013/12/14 职场文书
就业意向书
2014/07/29 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
中学推普周活动总结
2015/05/07 职场文书
民事起诉书范本
2015/05/19 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书