python从多层循环嵌套中退出_python中退出多层循环的方法

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

1 #第一种嵌套形式

2 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]3 #init_i = 0

4 #init_j = 0

5 flag =True6 for i in range(3):7 for j in range(3):8 #print(i, j)

9 if a[i][j] == 5:10 flag =False11 init_i =i12 init_j =j13 break

14 if notflag:15 break

16 print(init_i, init_j)17 print(i, j)18

19 #第二种嵌套形式

20 flag =True21 whileflag:22 for i in range(10):23 print(x)24 flag =False25 break

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

1 deftest():2 whileTrue:3 for x in range(10):4 print(x)5 return

6 test()

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

1 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]2 init_i =03 init_j =04 flag =True5 for i in range(3):6 for j in range(3):7 #print(i, j)

8 if a[i][j] == 5:9 flag =False10 init_i =i11 init_j =j12 break

13 else:14 continue

15 break

16 #if not flag:

17 #break

18 print(init_i, init_j)19 print(i, j)20

21 whileTrue:22 for x in range(4):23 print(x)24 if x == 2:25 break

26 else:27 print("未执行")28 continue

29 break

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

4、跳出多层

1 deftest1():2 for i in range(5):3 for j in range(5):4 for k in range(5):5 if i == j == k == 3:6 return

7 else:8 print(i, '----', j, '----', k)9 test1()

5、for ... else ... 用法(跳出特定层数的循环)

1 for i in range(5):2 for j in range(5):3 for k in range(5):4 if i == j == k == 3:5 break

6 else:7 print( i, '----', j, '----', k)8 else: continue

9 break

10 else: continue

11 break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值