Python中在for循环中嵌套使用if和else语句的技巧 您所在的位置:网站首页 python循环if语句 Python中在for循环中嵌套使用if和else语句的技巧

Python中在for循环中嵌套使用if和else语句的技巧

#Python中在for循环中嵌套使用if和else语句的技巧| 来源: 网络整理| 查看: 265

>>>a=[12, 3, 4, 6, 7, 13, 21] >>>b=['a', 'b', 'x'] >>>newList=[(x, y) for x in a for y in b] >>>newList [(12, 'a'), (12, 'b'), (12, 'x'), (3, 'a'), (3, 'b'), (3, 'x'), (4, 'a'), (4, 'b'), (4, 'x'), (6, 'a'), (6, 'b'), (6, 'x'), (7, 'a'), (7, 'b'), (7, 'x'), (13, 'a'), (13, 'b'), (13, 'x'), (21, 'a'), (21, 'b'), (21, 'x')] >>>newList2=[(x, y) for x in a for y in b if x%2==0 and y>>newList2 [(12, 'a'), (12, 'b'), (4, 'a'), (4, 'b'), (6, 'a'), (6, 'b')] 登录后复制

嵌套的for...[if]...语句与多重for语句相当,最前面的for语句是最外层的循环。

善用python的else子句 在日常coding中,分支语句的使用非常普遍,经常会根据是否满足一定的条件对代码执行的逻辑进行一些控制,所以大家对if[elif[else]]一定不会陌生。分支语句中的else子句在其它的条件不满足的时候会被执行到,适当的使用分支语句能够让我们的代码逻辑更加的丰富。 在分支语句中使用else子句在一些常见的编程语言中的用法基本相同,类似于提供了一条默认的执行路径,配合if等条件判断语句使用,相比其它的编程语言(c#, java, js等)在python中,else有一些特殊的用法,配合for, while等循环语句使用,甚至还能配合异常处理try except语句进行使用,能够让我们的代码更加的简洁。

1.配合for/while循环语句使用 在for循环语句的后面紧接着else子句,在循环正常结束的时候(非return或者break等提前退出的情况下),else子句的逻辑就会被执行到。先来看一个例子:

def print_prime(n): for i in xrange(2, n): # found = True for j in xrange(2, i): if i % j == 0: # found = False break else: print "{} it's a prime number".format(i) # if found: # print "{} it's a prime number".format(i) 登录后复制 print_prime(7) 登录后复制

结果:

2 it's a prime number 3 it's a prime number 5 it's a prime number 登录后复制

一个简单打印素数的例子,判断某个数字是否是素数的时候需要遍历比它自己小的整数,任何一个满足整除的情况则判断结束,否则打印这是一个素数的info,有了else的加持,整个例子的逻辑相当的“self-expressive”,如同伪代码一般的好理解而且相比在判断整除的时候设置标志值然后在函数的结尾处判断标志值决定是否打印数字时素数的消息,代码更简洁没有那么多要描述如何做的“过程式”准备工作。 ps: 大家可以把例子中的被注释代码运行对比下效果。

2.配合 try except错误控制使用 在异常处理语句中,else有相似的用法,当try代码块没有抛出任何的异常时,else语句块会被执行到。

def my_to_int(str_param): try: print int(str_param) except ValueError: print 'cannot convert {} to a integer'.format(str_param) else: print 'convert {} to integer successfully'.format(str_param) 登录后复制 my_to_int("123") my_to_int("me123") 登录后复制 结果: 123 convert 123 to integer successfully cannot convert me123 to a integer 登录后复制

如打印日志所示,在转换成功未发生错的的时候,else语句里的逻辑会被执行,当然这个例子可能并没有什么太多的实际的用处,但大致能说明else在错误处理中的用处:简化逻辑,避免使用一些标志值就能够准确把握是否发生错误的情况来做一些实际的操作(比如在保存数据的时候如果发生错误,在else语句块中进行rollback的操作,然后紧接着还能加上finally语句完成一些清理操作。

善用else语句块能够让我们编写出更加简明,更加接近自然语言的语义的代码,当然也会更加的pythonic,细微之处大家可以慢慢体会。

微信分享

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系[email protected]核实处理。

相关标签:Python for if else上一篇:常见python正则用法的简单实例下一篇:浅谈python抛出异常、自定义异常, 传递异常

相关文章

相关视频

python多行注释符号是什么python支持的操作系统有哪些isinstance在python中是什么意思一文看懂Python爬虫Python中在for循环中嵌套使用if和else...PHP For 循环PHP For 循环PHP 循环 - For 循环for 循环JavaScript中的for循环视频教程分类php视频教程html视频教程css视频教程JS视频教程jQuery视频教程mysql视频教程Linux视频教程Python视频教程Laravel视频教程Vue视频教程专题推荐独孤九贱-php全栈开发教程

全栈 170W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

玉女心经-web前端开发教程

入门 80W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

天龙八部-实战开发教程

实战 120W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

作者信息

php中文网

认证0级讲师

发表技术文章最新文章热门排行

python支持的操作系统有哪些python多行注释符号是什么python是什么类型的编程语言一文看懂Python爬虫isinstance在python中是什么意思python中“+=”是什么意思python怎么保留两位小数python中怎么合并两个列表

python是什么意思python中format怎么用py文件怎么打开?python如何读取txt文件内容python中eval是什么意思?pycharm怎么安装python中str是什么意思python怎么变成中文版推荐视频教程PHP直播课相关教程热门推荐最新课程独孤九贱(3)_JavaScript视频教程独孤九贱(3)_JavaScript视频教程

306125次学习

收藏独孤九贱(6)_jQuery视频教程独孤九贱(6)_jQuery视频教程

302883次学习

收藏php8,我来也php8,我来也

342528次学习

收藏最懂你的大前端课:HTML5/CSS3/ES6/NPM/Vue/...【原创】最懂你的大前端课:HTML5/CSS3/ES6/NPM/Vue/...【原创】

66556次学习

收藏Thinkphp6.0正式版视频教程Thinkphp6.0正式版视频教程

366536次学习

收藏最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)

1284670次学习

收藏phpStudy极速入门视频教程phpStudy极速入门视频教程

501803次学习

收藏独孤九贱(4)_PHP视频教程独孤九贱(4)_PHP视频教程

1128627次学习

收藏PHP实战天龙八部之仿爱奇艺电影网站PHP实战天龙八部之仿爱奇艺电影网站

698112次学习

收藏独孤九贱(5)_ThinkPHP5视频教程独孤九贱(5)_ThinkPHP5视频教程

1132404次学习

收藏Laravel 8 课程精讲(台湾同胞版)Laravel 8 课程精讲(台湾同胞版)

1285次学习

收藏PHP入门速学(台湾同胞版)PHP入门速学(台湾同胞版)

1043次学习

收藏Apipost从入门到精通Apipost从入门到精通

437次学习

收藏PHP+MySQL網站程式入門課(廣東話/粵語) 梁浩賢PHP+MySQL網站程式入門課(廣東話/粵語) 梁浩賢

1428次学习

收藏帝国CMS企业仿站教程帝国CMS企业仿站教程

1128次学习

收藏网站首页 PHP视频PHP实战PHP代码PHP手册词条手记编程词典php培训

php中文网:公益在线php培训,帮助PHP学习者快速成长!

Copyright 2014-2021 https://www.php.cn/ All Rights Reserved   | 苏ICP备2020058653号-1关于我们免责申明赞助与捐赠广告合作

     目录


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有