很多人说 Python 是给很优雅的语言,但凡事都有个弱点,有些时候对于某种情况,用 Python 实现起来却不那么"优雅"。

例如下面的例子,我们想要跳出这个嵌套循环:

for a in list_a:

for b in list_b:

if condition(a,b):

break

关键词 break 只能跳出这个循环中的内循环。那有没有什么方法一次性跳出所有循环? Python 里有没有哪个内置的关键词可以实现呢?

不幸的的是,没有。

有句老话讲的好,"没有对比就没有伤害", Python 做不到,其它的语言却可以,比如万人鄙视的 PHP:

foreach ($a_list as $a)

{

foreach ($b_list as $b)

{

if (condition($a, $b))

{

break 2; // 跳出两次循环

}

}

}

在 PHP 里 break 关键词后面跟着一个数组,表示要跳出循环的次数,默认值是1,表示跳出一次循环。

这是一个很简洁命令的解决方案,这里必须夸一句 PHP,这里它表现的不错。

不过 Python 毕竟是很灵活的语言,我们有很多方法可以解决上面的问题,下面我就介绍 5 中跳出嵌套循环的方法。

1. 使用"旗帜"变量

这是个有效的解决方案,我们定义一个变量,作为一个"旗

python跳出循环的方法_Python 跳出嵌套循环的5种方法相关推荐

  1. Python 跳出嵌套循环的5种方法

    很多人说 Python 是给很优雅的语言,但凡事都有个弱点,有些时候对于某种情况,用 Python 实现起来却不那么"优雅". 例如下面的例子,我们想要跳出这个嵌套循环: for ...

  2. python安装gdal包_python安装gdal的两种方法

    1.不用手动下载文件,直接执行以下命令即可 conda install gdal 2.首先,下载gdal的whl文件  链接, 官网下载比较慢,GDAL-2.2.4-cp27-cp27m-win_am ...

  3. python包导入方式_python导包的几种方法(自定义包的生成以及导入详解)

    python 导入数据包的几种方法 1.直接导入整个数据包:improt 数据包 2.导入数据包中的某一个函数: from 数据包 improt 函数(当函数这一项为 * 时为导入整个数据包) 3. ...

  4. python字符串成熟编码_python字符串转公式两种方法获取网页编码python版

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...

  5. python如何删除代码_Python列表删除的三种方法代码分享

    1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> prin ...

  6. python里的拼接_Python拼接字符串的7种方法总结

    前言 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 在Python中,我们经常会遇到字符串的拼接问题,几乎任何一种编程语言,都把字符串列为最基 ...

  7. python 求组合数最快方法_python求二项式系数的几种方法及性能对比

    最近研究了python求二项式系数的几种方法,对比了一下他们的速度 1. 利用阶乘简洁求 #普通阶乘 def fact(n): if n == 0: return 1 else: return n*f ...

  8. python向上取整的方法_python 取整的两种方法,python向上取整的方法,问题简介:  要把一...

    python 取整的两种方法,python向上取整的方法,问题简介: 要把一 问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2" ...

  9. python导入模块方法_Python导入模块的3种方法(非常详细)

    许多初学者经常遇到这样的问题: 自定义Python模板后,在其他文件中使用带有import(或从... import)语句导入文件时,Python解释器还会出现以下错误: ModuleNotFound ...

最新文章

  1. 传递数组_Fortran:派生数组与数组传递进子程序耗费时间比较
  2. 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)
  3. Elasticsearch Grok Pattern内置表达式大全
  4. Servlet 和Filter的生命周期
  5. MyEclipse连接MySQL的方法
  6. google +按钮_如何禁用或改善Google的Google+集成
  7. python设计模式5-原型模式
  8. Labview实现字符串加密
  9. 【土壤分类】基于matlab GUI多类SVM土壤分类【含Matlab源码 1398期】
  10. matlab可以拼图么,拼图matlab程序希望有人可以给我讲解一下!!有偿求标注
  11. TCP报文( tcp dup ack 、TCP Retransmission)
  12. 思考的力量—谈谈程序员成长背后的思考力
  13. 华三路由交换配置命令_华三华为交换机-路由器配置常用命令汇总
  14. 【百度seo建议】网站快速被蜘蛛抓取方法
  15. esp32测试wifi速率
  16. mysql函数LOCATE、POSITION和INSTR
  17. ajaxSubmitDemo
  18. house-robber-iii
  19. 网易易盾流量多发反外挂落地实践
  20. 计算机毕业设计 java web网上购物商城系统(源码+论文)

热门文章

  1. CAAI名誉理事长李德毅院士谈机器的生命观
  2. 关于接口幂等性问题的简单总结
  3. 业务员怎么网上找客户?4个快速有效方法在这里
  4. vlan的tagged、untagged
  5. OpenGL基础渲染
  6. 亚马逊云机器人平台RoboMaker新功能WorldForge使用测试
  7. 计算机音乐谱东演员,抖音计算机乐谱有哪些 抖音计算机乐谱分享
  8. 计算机 布局菜单栏 无法打勾,w7系统 我的电脑工具栏不见了
  9. js 跳转到指定位置 高德地图_JS引入高德地图定位
  10. 苹果自带地图进行定位