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搭建简易服务器分析与实现
Dec 15 Python
python获取本机mac地址和ip地址的方法
Apr 29 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
Python pymsql模块的使用
Sep 07 Python
python3.8动态人脸识别的实现示例
Sep 21 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 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 curl优化下载微信头像的方法总结
2018/09/07 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
浅谈JS和jQuery的区别
2019/03/27 jQuery
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
VSCode下配置python调试运行环境的方法
2018/04/06 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
Python如何实现FTP功能
2020/05/28 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
什么是URL
2015/12/13 面试题
小学运动会表扬稿
2014/01/19 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
村官工作鉴定评语
2014/01/27 职场文书
自强之星事迹材料
2014/05/12 职场文书
表彰大会策划方案
2014/05/13 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
Python IO文件管理的具体使用
2022/03/20 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python
V Rising 服务器搭建图文教程
2022/06/16 Servers