六、Python第六课——Python中的for循环及数字列表

目录

一、Python中的for循环

1、for循环语句的声明。

2、for循环缩进常见问题 

 二、数字列表

1、函数range() 

2、使用range()函数创建数字列表 

3、使用一系列函数处理数字列表(统计) 

4、列表解析(生成列表的简洁方法)


一、Python中的for循环

1、for循环语句的声明。

在列表中,我们经常遍历列表中的所有元素,并对每个元素执行相同的操作,那么这就可以使用for循环来实现。用如下代码介绍for循环的用法:

magicicans=["alice","david","carolina"]
for magicican in magicicans:      #让Python从magicians中取出一个名字,并存储在magician中print(magicican)              #打印magician中储存的名字

上述代码首先定义了一个magician的列表,里面有三个人的名字,然后才使用for循环进行了一个操作。

"for magician in magicians:"这行代码的用法实际上是“for A in B:”。B是一个列表,A是一个用来存储列表元素的临时变量,而本行代码的意思是:让Python从列表B中按照先后顺序依次取出其中的元素,并赋值给A元素,进行接下来的操作(这个操作将会对列表中的每一个元素,都将执行)。其中的“A”可以任意取名,但是“B”一定要和所遍历的列表名称一致。

                          “for magician in magicians:”

Tip:编写循环时,用于存储列表元素的临时变量可指定任何名称。但是,选择描述单个列表元素的有意义的名称大有帮助。例如小猫列表、小狗列表和一般性列表,像如下编写for循环的第一行代码是不错的选择:有助于你明白for循环中将对每个元素执行的操作。使用单复数形式明存,有助于你判断代码处理的是单个列表元素还是整个列表。

for cat in cats:
for dog in dogs:
for item in list_of_items:

 在Python中不使用大括号来标明哪些操作要循环进行,取而代之的是相应代码的缩进,在for循环语句的后面,每一行缩进的代码都是循环的一部分。下图红框圈主的就是“缩进”。而在for循环后面的没有缩进的代码只执行一次,而不会重复执行!

2、for循环缩进常见问题 

python根据缩进来判断代码行与前一个代码行的关系,并且通过使用缩进让代码更易读,所以在开始编写代码时必须正确缩进代码!

A、忘记缩进:例如循环语句后的代码忘记缩进,在会提示“expected an indented”

B、忘记缩进额外的代码行:例如本来需要循环执行的代码有两行,但却只缩进了一行代码!这是一个逻辑错误,语法上是合法的,但是由于存在逻辑错误,运行代码之后得到的结果并不符合预期。

C、无循环时的不必要的缩进。例如没有循环语句,但是却缩进了某一行代码,Python会报错“unexpected indent” 。

D、有循环时不必要的缩进。这也是一个逻辑错误,如果不小心缩进了应在循环结束后执行的代码,这些代码将针对每个列表元素重复执行。

E、在for语句后忘记了冒号。这个冒号对于for循环来说至关重要:告诉Python解释器下一行缩进的代码是循环的第一行代码。

 二、数字列表

       之前学习过列表,里面存储的是字符串,而今天将要介绍的列表是“数字列表”。顾名思义,数字列表就是列表中存储数字!而且列表中非常适合存储数字集合!下面开始介绍一些关于数字列表的函数和操作。

1、函数range() 

       range单词的意思是“范围”,说到这,想必大家对这个函数的功能就不那么陌生了。range()函数的功能正如“range”的意思一样:能生成某个范围内的数字。如下示例代码:

for value in range(1,5):#上一节课提到的循环语句,value存储range函数生成的4个数字print(value)

       细心的同学发现,这两行代码中生成的数字应该是1-5的5个数字,为什么只有1-4的4个数字呢? 

这个就是我们需要注意的地方了:因为此处和我们的传统认知不一致。range()函数的具体功能是让Python从你指定的第一个值开始,并在指定的第二个值后停止,自然不包含第二个数字了。如range(1,5)从1开始,到5之前就停止了,所以输出的是1,2,3,4!!!

2、使用range()函数创建数字列表 

       将刚才学的数字列表和range()函数结合起来,使用另一个list()函数将range()生成的数字直接转换成数字列表。示例代码:

numbers=list(range(1,6))#将rang()函数作为list()函数的参数,实现数字转为列表的功能
print(numbers)#打印生成的数字列表

     这是“数字”转“数字列表”的初体验,数字的间隔是“1”。当然可以通过指定range()函数的参数来确定间隔。示例代码如下所示:

numbers=list(range(1,10,2))#将rang()函数作为list()函数的参数,实现数字转为列表的功能
print(numbers)#打印生成的数字列表

 

       上述代码,即为从1到10,以2为间隔,最终的数字列表为“1,3,5,7,9” 

既然学到这里了,我们用一道题目来测试一下我们对range()函数、for循环以及乘方的掌握程度:

题目大意:创建一个数字列表,其中包含前10个整数(即1~10)的平方。 示例代码如下所示:

代码1:

#made by Jeffery
#date 2020.10.15
numbers=[]                   #声明一个列表
for number in range(1,11):   #用for循环指示number为1~10,循环10次number=number**2         #计算number为每个数字时的平方numbers.append(number)   #使用append函数将计算出来的值写入第3行代码创建的列表
print(numbers)               #将numbers列表的内容打印出来

 

 代码2:

#made by Jeffery
#date 2020.10.15
numbers=[]                      #声明一个列表
for number in range(1,11):      #用for循环指示number为1~10,循环10次numbers.append(number**2)   #使用append函数将计算出来的值写入第3行代码创建的列表
print(numbers)                  #将numbers列表的内容打印出来

这是我根据《Python编程·从入门到实践》写的两段代码,相互对照后发现二者实现的功能是一样的,但是代码行数、使用的变量有所不同。代码2明显精简于代码1。所以,有如下启示:使用临时变量有时会增强代码易读性,而在其他情况下,只会增长代码长度。so,先写出代码清晰、功能完善的代码,再精简代码!

3、使用一系列函数处理数字列表(统计) 

有了数字列表之后,我们需要从数字列表中获得更多信息,如数字列表中的最大数、最小数以及所有数字的和。 处理数字列表的函数极其容易识记,这里我们用一段代码解释说明一下,就不多做赘述。

#made by Jeffery
#date 2020.10.15
numbers=[]                                #声明一个列表
for number in range(1,11):                #用for循环指示number为1~10,循环10次numbers.append(number**2)             #使用append函数将计算出来的值写入第3行代码创建的列表
print("数字列表的内容为:"+str(numbers))     #将numbers列表的内容打印出来
print("数字列表中的最小的数字为:")
print(min(numbers))                       #使用min()函数确定数字列表中的最小数
print("数字列表中的最大的数字为:")
print(max(numbers))                       #使用max()函数确定数字列表中的最大数
print("数字列表中的数字之和为:")
print(sum(numbers))                       #使用sum()函数计算数字列表中的所有数的和

 

4、列表解析(生成列表的简洁方法)

       标题“2、使用rang()函数创建数字列表”中介绍的生成数字列表的方法包含3-4行代码,有些许繁琐,而列表分析只需编写一行代码就可以实现列表的生成,这里介绍是为了让大家在阅读他人代码时能读懂。

       列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。 代码示例如下图所示:

#made by Jeffery
#date 2020.10.15
numbers=[number**2 for number in range(1,11)]   #这行代码的易读性降低了很多,慢慢熟悉就好了
print(numbers)                           #将数字列表的内容打印出来

代码解读:要使用这样的语法,首先创建一个列表,在列表的方括号内定义一个表达式,用于生成将要存储到列表中的值,如“number**2”,,接下来一个for循环,用于给刚才定义的表达式提供值。上述提到的循环不同于普通循环的地方是:for语句结尾没有冒号“:”。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

七、Python第七课——有关列表的二三事(切片、切片的遍历和复制)

目录 一、切片 二、遍历切片 三、列表的复制 一、切片 此前,我们学习了如何访问单个列表以及如何处理列表中的所有元素,那么我们如何处理列表中的部分元素呢?这就引出一个概念“切片” 。我们可以把列表看成是面包,“切片”…

八、Python第八课——元组与列表、代码格式

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 一、元组的定义 二、元组的遍历 三、代码格式 一、元组的定义 1、元组:不可变的列表称为元组。这个是相对于普通列表而言的,普通列表…

九、Python第九课——Python中的if语句与运用

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 一、if语句 1、检查变量存储的值是否相等 2、判定字母或字符串时区别大小写 3、检查多个条件 4、检查特定值是否在列表中 二、if-else语句和if-elif-el…

十、Python第十课——字典的些许知识(重点)

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 初识字典 1、创建字典 2、字典的“增删改查” …

百度地图API如何申请?(自认为比较详细,如解决了你的问题请收藏、点赞、关注)

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 注意:自己申请的AK要保存好,最好不要外借,避免不必要的麻烦!(写在前面) 目…

PythonPyqt5项目开发完成后如何使用pyinstaller打包——以Pycharm编辑器为例(目前为止最正确的版本,成功打包日期为2020.11.26)

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 最近用Python开发了一个可视化界面,开发过程如鱼得水,几乎没有BUG出现(项目简单)。但是在临近交付时…

十一、Python第十一课——用户输入和另一种循环(While)

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 学了这么久的Python,大家肯定会好奇,不是说机器学习吗?不是人机交互吗?不是人工智能吗?怎么我学了Python都十…

如何让新创建的Python文件自动生成作者信息等内容(以Pycharm为例)

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 打开Pycharm软件后,点击“File”,然后点击“Settings”,就会出现下面截图界面:然后按照箭头所指,在对应位置…

如何将谷歌浏览器的背景色(包括显示的网站界面等)全部调为黑色?2020.12.28

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 因为电脑显示器正对窗户的原因,平时为了透气通风不能使用遮光帘,所以我将整个电脑的所有软件的主题色设为黑色,这样能降低一些光的…

Windows 10如何消除文件夹右上角的“相对箭头”?

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 整理笔记本电脑时发现&#xff0…

目标检测第1步:如何在Windows 10下安装MiniConda?

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 目录 一、Conda是什么&#xff…

十二、Python第十二课——函数

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 目录 (请先看置顶博文&#xff…

目标检测第2步:如何在Windows 10下安装Anaconda?

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 想要学习目标检测的朋友可能会发…

目标检测第3步:如何在Windows 10系统下安装CUDA(更新时间2022.03.22)

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 目录 一、自检 1、查看PC是否…

目标检测第5步:如何在Windows 10系统下,搭建YOLOv5(5.0)环境?保姆级,没有人比这个更详细了(更新时间2022.3.22)

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 目录 一、安装Anaconda或Minic…

如何将Word与Endnote再次相互关联?

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 Endnote是每一个科研人员都接触…

十三、Python第十三课——类(包含对类的相关概念的理解,这一文的附录让你彻底明白类和对象)

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 一、类和对象 1、类 2、对象 二、类的创建和实例…

十四、Python第十四课——文件和异常

(请先看这篇文章:https://blog.csdn.net/GenuineMonster/article/details/104495419) 如果看完这篇博文,你的问题还是没有解决,那么请关注我的公众号,后台发消息给我吧,当天回复&#x…

目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22)

(请先看这篇文章:本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客) 如果看完这…

十五、Python第十五课——测试代码

(请先看这篇文章:https://blog.csdn.net/GenuineMonster/article/details/104495419) 也许你听过软件测试?编写函数或类时,可以为其编写对应的测试代码。通过测试,可检验代码是否能够按照编写意图工作。在…