今天我们来学习python中非常常用而且重要的for语句,在学习for的同时顺便复习一下前面学习过的知识。
for实例
例子1:假设列表a = [1,5,8,12,18,4,63],如果我们想要取出其中大于10的元素并将其添加到一个空列表中,该如何实现呢?
初级代码:
高级代码:
例子2:找出20以内所有的奇数并将其作为列表返回
可能有的蛇友会这样做:
虽然成功完成了任务,但是可以看出代码还是比较冗繁,不过初学者能想到这样写已经很不错了,我当时还不会写呢!!!其实这个可以用一行代码搞定,不信你看
这里简单解释一下range()
'''start-开始,默认为0,
stop-结束,step-变步长,
默认为1。注意是[start,stop)'''
range(start,stop,step)
#例子
另外,for循环也是可以嵌套的,我们可以利用for循环来打印九九乘法表
for i in +这种格式不仅适用于列表,而且还适用于字符串、字典、集合、元组
字符串
字典
集合
元组
额.........这就写完了?我还以为要写很长呢!本来还想着今天就只写for语句,那好吧,那就把循环中断也一起写了吧。
循环中断
在python中,我们可以使用break或者continue来中断循环
break
有些时候循环的中断还是挺有用的,比如你要找出一个字符串中某个字符第一次出现的位置,就可以使用break来中断循环而不必要继续检索。
代码演示:
说明第一个‘l’出现的地方是s[2]
break的用法最重要的是要注意它中断的范围,从这个例子可以看出,它是直接跳出了整个for循环,但是在嵌套for语句中,break是跳出最内层还是最外层循环呢?我们通过如下代码来验证一下
for i in range(5):
for j in range(5):
break
print('python',end=' ')
如果break跳出的是最外层循环,那么将不会打印任何东西,反之,将打印5个python,我们来揭晓答案
显然,break跳出的是最内层的循环。
在for-while语句中,break又是如何工作的呢?我们来看一下
可以看出,break跳出的仍然是最内层即while循环。
总结一下:在python中,需要中断循环可以使用break,break跳出的是最内层的循环。
continue
我们首先通过两段代码来看一下break和continue的区别
简单解释一下:break就不做解释了,我们把重点放在第二段代码上,当i=0、1时,continue没有起任何作用,这时候打印了两次python,当i=2时,continue就出来搞事情了,这时候print()直接被忽略,程序直接返回到for循环,当i=3时,又没continue什么事了,所以又打印了一次python,一共三次。
那么,当出现多重循环时,continue返回的是哪一层呢?同样,我们通过代码来验证一下
可以看到,a被同时打印了出来,说明continue回到的是最内层的for循环。
总结一下:在python中,需要中断循环还可以使用continue,当使用continue时,后面的代码将会被忽略,程序直接回到与continue最近的最内层循环中去。
本期到这就结束了,今天布置一道思考题:以下程序是否是死循环?
for i in range(8):
while i<5:
print('python')
break
python小白联盟
网友评论