python中退出多层循环的方法
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中退出多层循环的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
相关文章
Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境详细过程(2023最新攻略)
这篇文章主要介绍了Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境(2023最新攻略),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-01-01
Python定时查询starrocks数据库并将结果保存在excel
这篇文章主要为大家详细介绍了Python如何实现定时查询starrocks数据库并将结果保存在excel,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下2025-03-03
详解Python中高阶函数(map,filter,reduce,sorted)的使用
高阶函数就是能够把函数当成参数传递的函数就是高阶函数,换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数。本文为大家详细讲解了Python中常用的四个高阶函数,感兴趣的可以了解一下2022-04-04


最新评论