python中退出多层循环的方法
作者:你说的都好 时间:2021-09-09 11:09:46
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中退出多层循环的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
来源:https://www.cnblogs.com/lybigdata/archive/2018/11/27/10025030.html
标签:python,退出,多层循环
0
投稿
猜你喜欢
Python3自定义http/https请求拦截mitmproxy脚本实例
2021-04-13 15:33:01
给Notepad++换主题
2009-05-04 14:43:00
MySQL 语言参考
2007-11-21 20:37:00
python使用KNN算法识别手写数字
2022-02-20 10:48:23
将字典转换为DataFrame并进行频次统计的方法
2023-11-21 05:37:30
js如何读取csv内容拼接成json
2023-08-13 02:20:14
使用Python批量修改文件名的代码实例
2022-03-21 04:02:53
pytest官方文档解读fixtures的autouse
2023-06-22 01:18:58
my.ini(my.cnf)与mysql优化指南
2009-12-15 16:20:00
对Python 文件夹遍历和文件查找的实例讲解
2021-11-05 22:29:25
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2021-03-20 02:55:59
推荐19个很有用的 JavaScript 库
2011-05-14 16:33:00
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2022-03-27 17:21:42
JavaScript经典效果集锦
2013-08-13 09:29:34
python常用知识梳理(必看篇)
2021-04-30 07:37:39
MySQL 数据编码 latin1 转 UTF8
2010-10-14 14:20:00
Python中实现远程调用(RPC、RMI)简单例子
2022-11-20 06:23:27
Go语言变量与基础数据类型详情
2023-08-30 03:13:16
on error goto (Vbscript)和try catch
2008-08-04 13:22:00
九步学会Python装饰器
2021-04-05 15:35:07