解决Python内层for循环如何break出外层的循环的问题

偶然发现了for…else…这种用法,使用这个实现了break跳出嵌套的for循环

In [31]: for i in range(1,5):
  ...:   for j in range(5,10):
  ...:     print(i,j)
  ...:     if j==6:
  ...:       break
  ...:   else:
  ...:     continue
  ...:   break

1 5
1 6

for…else…的运行逻辑是当for循环正常执行结束就会运行其else语句,如果中途break的话,就不会执行else中的内容

上面的代码实现了内存for循环break跳出了外层的for循环,当内层for循环正常执行时,会执行else中的continue,此时会跳过外层的break语句,实现外层的循环,当内层出现break语句时,else语句忽略,跳出内层循环,顺序执行外层的break语句,跳出外层循环

以上这篇解决Python内层for循环如何break出外层的循环的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Python中for循环的使用

    for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程" 一文讨论了 if 语句和 while 循环,讨论了复合语句以及适当缩进 Python 语句来指示相关 Python 代码块.该文的结尾介绍了 Python for 循环.但就其使用和功能来说,for 循环更值得关注,所以本文单独讲述该循环. for 循环有一个简单的语法,使您可以从容器对象中提取单个项目并对其进行某些操作.简单地说,使用 for 循环,可以迭代中对象集合的项目.对象集合可以是任何 P

  • Python入门_浅谈for循环、while循环

    Python中有两种循环,分别为:for循环和while循环. 1. for循环 for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的基本结构如下: 具体看这个案例: 设计一个函数,在桌面创建10个文本,用数字从1-10依次给它们命名. def text_create(): path = '/Users/duwangdan/Desktop/' for text_name in range(1,11): # 1-10的范围需要用到r

  • 讲解Python中for循环下的索引变量的作用域

    我们从一个测试开始.下面这个函数的功能是什么? def foo(lst): a = 0 for i in lst: a += i b = 1 for t in lst: b *= i return a, b 如果你觉得它的功能是"计算lst中所有元素的和与积",不要沮丧.通常很难发现这里的错误.如果在大堆真实的代码中发现了这个错误就非常厉害了.--当你不知道这是一个测试时,很难发现这个错误. 这里的错误是在第二个循环体中使用了i而不是t.等下,这到底是怎么工作的?i在第一个循环外应该是

  • Python跳出循环语句continue与break的区别

    虽然在Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环. break 复制代码 代码如下: # encoding=UTF-8   for x in range(10):     if x==5:         break       print x 上面使用的break循环,所以执行到x==5的时候就跳出了整个for循环,因此print x语句只打到4的时候就终止了,因此输出结果如图: co

  • python跳出双层for循环的解决方法

    一.问题描述 在二维数组的遍历中,我们经常使用双层for循环.在某些时候,我们并不需要遍历整个二维数组.当条件满足时就应该终止for循环.但是,直接在内层循环中break并不会让外层循环也终止. 二.解决方案 使用for...else...语法解决. for i in range(5): for j in range(5): print(i, j) if i == 3 and j == 3: break else: continue break 当次循环正常结束的时候才会执行else中的语句(如

  • 解决Python内层for循环如何break出外层的循环的问题

    偶然发现了for-else-这种用法,使用这个实现了break跳出嵌套的for循环 In [31]: for i in range(1,5): ...: for j in range(5,10): ...: print(i,j) ...: if j==6: ...: break ...: else: ...: continue ...: break 1 5 1 6 for-else-的运行逻辑是当for循环正常执行结束就会运行其else语句,如果中途break的话,就不会执行else中的内容 上

  • JavaScript使用类似break机制中断forEach循环的方法

    JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环: [1,2,3].forEach(function(item) { // if(!item) break; 不支持 }); 解决办法,可抛出一个特殊异常,来中断forEach循环,原理: var BreakException = {}; try { [1, 2, 3].forEach(function(el) { console.log(el); if (el ===

  • java 中break如何跳出外部循环

    学习就是为了不断的看到自己的知识盲点,然后改正,以前知道如何使用break来跳出循环,突然学习到可以用break跳出外部的循环(以前只知道怎么调本次的循环). 上正题代码如下: break跳出本次循环: public static void main(String[] args) { for (int i = 0; i < 10; i++) { for (int j = 0; j <=10; j++) { System.err.println(i+j); if(i+j==10) { break

  • 解决Python字典写入文件出行首行有空格的问题

    模拟购物车程序,判断用户薪资是否是0 如果是0就需要输入薪资,并记录到文件内. 可以预先存个字典格式的字符串,然后去读取文件的时候读到的是字字符串然后再去用eval去转换成字典. 当我们覆盖写到文件的时候就会发现首行会有空格,当我们再去读取eval的时候就会报错,那怎么样可以解决这个问题呢! import json info = { 'lisi':0, 'zhangshan':100, } f = open('json.txt','w') f.write(json.dumps(info)) {"

  • Python基础之python循环控制语句break/continue详解

    Python中提供了两个关键字用来控制循环语句,分别是break和continue break在条件成立时,不会执行循环中的后续代码,并且会停止整个循环 continue在条件成立时,会不执行循环中的后续代码,并且会停止本次循环 接下来我们通过两个案例来区分这两个控制语句 首先使用while循环语句打印1到5之间的数字,循环到3的时候,我们使用continue关键字跳出3的这次循环,需要注意的是,continue在条件成立时,不会执行后续代码,如果在continue关键字前,没有改变循环的条件,

  • python练习之循环控制语句 break 与 continue

    前言: 循环中通过break语句会立刻终止并跳出循环语句.break就像是终止按键,不管执行到哪一步,只要遇到break,不管什么后续步骤,直接跳出当前循环. 例题1:计算阶乘 例1:计算43的阶乘,break方案见方法四. 方法一:通过math库 import math value = math.factorial(43) print(value) 方法二:通过递归 def getRes(n): if n==1: return 1 else: return n * getRes(n-1) if

  • 解决Python中回文数和质数的问题

    一.前言 今天学习视频时课后作业是找出1000以内既是素数又是回文数的数,写代码这个很容易,结果一运行遇到了bug,输出结果跟预期不一样,调试了快30min,再接着一通搜索和回看视频才发现问题所在.所以特地写下来,方便以后查看.问题的关键是判断素数过程中for-else的用法上(具体看后面代码) 二.实现判断素数的功能 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数).via--Wikiped

  • 放弃 Python 转向 Go语言有人给出了 9 大理由

    转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时.今年 Stream 团队的主要编程语言从 Python 转向了 Go.本文解释了其背后的九大原因以及如何做好这一转换. 一.为什么使用 Go 原因 1:性能 Go 极其地快.其性能与 Java 或 C++相似.在我们的使用中,Go 一般比 Python 要快 30 倍.以下是 Go 与 Java 之间的基准比较: 原因 2:语言性能很重要 对很多应用来说,编程语言只是简单充当了其与数据集之间的胶水.语言本身的性能常常无关轻

  • 简单解决Python文件中文编码问题

    读写中文 需要读取utf-8编码的中文文件,先利用sublime text软件将它改成无DOM的编码,然后用以下代码: with codecs.open(note_path, 'r+','utf-8') as f: line=f.readline() print line 这样就可以正确地读出文件里面的中文字符了. 同样的,如果要在创建的文件中写入中文,最好也和上面差不多: with codecs.open(st,'a+','utf-8') as book_note: book_note.wri

随机推荐