没有合适的资源?快使用搜索试试~ 我知道了~
Python中在for循环中嵌套使用if和else语句的技巧
25 下载量 28 浏览量
2020-12-25
15:34:09
上传
评论
收藏 64KB PDF 举报
温馨提示
for…[if]…构建List (List comprehension) 1.简单的for…[if]…语句 Python中,for…[if]…语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说明。 >>> a=[12, 3, 4, 6, 7, 13, 21] >>> newList = [x for x in a] >>> newList [12, 3, 4, 6, 7, 13, 21] >>> newList2 = [x for x in a if x%2==0] >>> newList2 [
资源详情
资源评论
资源推荐

Python中在中在for循环中嵌套使用循环中嵌套使用if和和else语句的技巧语句的技巧
for…[if]…构建构建List ((List comprehension))
1.简单的简单的for…[if]…语句语句
Python中,for…[if]…语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以
省略的。下面举几个简单的例子进行说明。
>>> a=[12, 3, 4, 6, 7, 13, 21] >>> newList = [x for x in a] >>> newList
[12, 3, 4, 6, 7, 13, 21] >>> newList2 = [x for x in a if x%2==0] >>> newList2
[12, 4, 6]
省略if后,newList构建了一个与a具有相同元素的List。但是,newList和a是不同的List。执行b=a,b和newList是不同的。
newList2是从a中选取满足x%2==0的元素组成的List。如果不使用for…[if]..语句,构建newList2需要下面的操作。
>>> newList2=[] >>> for x in a:
... if x %2 == 0:
... newList2.append(x)
>>> newList2
[12, 4, 6]
显然,使用for…[if]…语句更简洁一些。
2.嵌套的嵌套的for…[if]…语句语句
嵌套的for…[if]…语句可以从多个List中选择满足if条件的元素组成新的List。下面也举几个例子。
>>>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<'x'] >>>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: 大家可以把例子中的被注释代码运行对比下效果。


























weixin_38590784
- 粉丝: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 著名地产建筑工程质量管理手册.doc
- 微信小程序入门开发.zip
- BIM工程管理平台ppt.pptx
- 广州某超高层住宅施工进度保证措施.doc
- 巡检员岗位职责HN-GWZZ-PK-2.doc
- 混流式水轮机结构及发电原理.ppt
- 商业楼机电分包工程招标文件.doc
- 店铺权重设计.pptx
- 线路敷设方式代号.doc
- 中建钢构装配式钢结构住宅介绍自制2.pptx
- 微信小程序 外卖(1).zip
- 上海大酒店暖通空调设计.pdf
- 微信(weixin_wechat) Python SDK 支持开放平台和公众平台 支持微信小程序云开发.zip
- 超高层商务楼大体积混凝土施工方案1.docx
- 三板溪水电站导流洞洞身初期支护设计qc.doc
- 荣成皓程国际广场勘察报告正文.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0