python中你可能不知道的事

本文介绍了Python中for…else…语句。在寻找迭代器中满足条件的元素时,传统方法需标记和额外判断。而使用for…else…语句可使代码更简洁,它能检测for循环是否经break结束,自然结束则进入else子句,while循环也有类似语句。
一、for … else … 语句

for循环是python编程中用到最大的语句,但是你可能不知道还有for…else…语句。

说明

当我们需要在一个迭代器中寻找一个满足条件的元素时,常常在找到目标元素时提前结束循环,使用“break”语句就能结束循环。

而在循环体之外,我们往往需要判断是否是找到了目标元素。因此还需要一个标记用来记录是否找到目标元素。

而有了“for … else …”语句,代码就可以变得相当简介。请看一下示例。

举例

假设我们需要在一个数组中寻找一个值为5的数,当找到了打印“find 5!”

不使用else

nums = list(range(10))
is_found = False
for i in range(len(nums)):
	if i == 5:
		is_found = True
		break
if is_found:
	print("find 5!")
	
>> find 5!

遍历nums,当找到5时,将标示设为True,并提前结束遍历。
在循环体之外,判断是否找到,再打印。

使用else

nums = list(range(10))
for i in range(len(nums)):
	if i == 5:
		break
else:
	print("find 5!")
	
>> find 5!

使用"for … else …"语句后,可以省去一个标示符和一个if判断语句,代码可以变得相当简洁。

综上可以看出:for后面的else可以检测for循环是否是经过break结束的,若for循环自然结束,将进入else子语句,反之将不会进入!got it!

同理,while循环也有类似的"while … else …"语句

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值