首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第33 p,for遍历,循环取值最方便

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第33篇文章,第二阶段的课程:Python基础知识:Python中的控制语句之for遍历。

学习本课程,建议先看一遍:【计算机基础知识】课程。

一、用for能做的事,while也可以做到

理论上for能做的事情,用while循环都能做到;为什么我们还会需要用到for语句?因为与while循环相比较,for在循环会取值上更容易实现;特殊是对一些可迭代对象的取值,for循环使用起来更简单;可以通过下面的一个例子说明,在循环取值时,for循环比while循环用起来更简便,如图所示:

二、for遍历的语法介绍

1、for遍历的基础语法样式:

For x in可迭代对象/迭代器:

执行代码块

……

Else:

执行代码

……

2、执行流程

 当Python解释器到遇for这个关键字时,判断for后面的是不是迭代器或可迭代对象;如果不是迭代器或可迭代对象,报错返回;

 如果是迭代器或可迭代对象,判断迭代器是否有值,如果没有,跳出fro循环,如果有,会执行for语句中的代码块的内容,输出结果;

 重复步骤1和步骤2,直到迭代器中的值被取完,for会跳出循环。

注:整数(int)和浮点数(float)都不是可迭代对象,即整数和浮点数都不能被for遍历。

三、For遍历与一些关键字

1、for与continue

与while循环中一样,当在for中遇到了continue关键字,会跳过单次循环不执行,进入下一下次循环中;

2、For与break

与while循环中一样,当在for中遇到的break关键字,会立刻结束本层循环;

注意,是结束本层循环,而不是结束一次循环;如果在一个for循环内再嵌套了一个for循环,那么break结束的是离它最近的for循环;

简单说:嵌套了三层for循环的循环,就需要3个break关键字来结束这三层循环,每个break关键字只能结束一层循环。

3、For与else

与while循环一样,for循环在执行过程中没有触发过break关键字,才会执行else关键字后面的语句;

也就是说:for循环是正常结束的时候,else关键字后面的语句才会被执行;

4、for与range生成器

range也是Python中的关键字,range是Python内置的一个方法,它的作用是按照使用者的要求生成一系列数据;

使用语法如下:

Range(start,stop,step=1)

这里的start与stop是数据的开始值和结束值,step表示步长,默认是1,步长用来表示第1个值与第2值之间相差多少;

值注意的是,在Python2中和Python3中,range的功能都是一样的;但在Python2中,我们使用range时,会预先生成我们需要的所有数据,然后再让我们调用;如果我们生成的数据有100亿个,就很容易发生内存溢出问题,这是一个小bug。

而在Python3中,我们使用range时,会预先生成一个生成器,它不会生成我们所需要的所有数据,只有当我们需要用到range中的数据时,用到1个,生成器就生成一个;这种方式会非常节省空间。

最后:

如果是字典,For循环取值时,默认取的是字典中的键(key),而不是值(value)。

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的关注点赞就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200629A088V100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券