六、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语句结尾没有冒号“:”。
六、Python第六课——Python中的for循环及数字列表相关推荐
- python使用正则表达式统计字符串中出现次数最多的数字
python使用正则表达式统计字符串中出现次数最多的数字 #python使用正则表达式统计字符串中出现次数最多的数字 # find the most occurring element import ...
- 三、Python第三课——Python中数字的用法及编码原则(Python禅意)
目录 一.Python中的数字 1.整数 2.浮点数 3.整数.浮点数和字符串的联系和区别 二.编码原则 1.为代码增加注释 2.Python 禅意 A.编码精美 B.避繁就简 C.无简就繁 D.使用 ...
- 【笔记】python中的for循环(遍历列表)、for循环中的一些缩进问题
文章目录 一.for循环(遍历列表) 在for循环中执行更多的操作 二.for循环中的一些缩进问题 一.for循环(遍历列表) 我们经常需要遍历列表的所有元素,对每个元素执行相同的操作.这种情况下,我 ...
- 【Python】第二课 python入门学习
2.1 print的简单使用 # print 做算术运算print(3+5)print(4*4)print(6/2)print(12-2)print(33 % 5)# print 做多行字符串打印pr ...
- python dict(zip)函数_python中zip()函数遍历多个列表方法
在对列表的元素进行找寻时,会频繁的说到遍历的理念.对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环.本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历.下面我们就python ...
- 四、Python第四课——Python中列表及其操作(增删改查)
目录 一.Python中的列表 1.列表的定义和赋值 2.列表的使用 二.列表的"增删改查" 1.列表中元素的增加 A.在列表尾添加元素 B.在列表中插入元素 2.列表中" ...
- 五、Python第五课——Python中组织列表的相关函数
目录 一.用sort()函数对列表进行永久排序 二.用sorted()函数对列表进行临时排序 三.用reverse()函数对列表进行列表原始排序的逆序输出 四.使用len()函数确定列表长度 创建列表 ...
- python自学网课-python网课学习笔记--4
对象 python中,一切皆对象.每个对象由:标识(identity).类型(type).value(值)组成. 1.标识用于唯一标识对象,通常对应于对象在计算机中的位置.使用函数id(obj)可返回 ...
- python运用范围_如何在python中使用某个范围对数字列表进行分组?
这段代码找到所需的输出,并将每个范围作为一个条目返回到Python列表中.在import numpy data=numpy.array([-5600, 900,2400,1050,1900,2100, ...
最新文章
- RHEL/CentOS6.4 x64 VNC服务配置
- python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?
- 《leetcode》single-number-ii
- 大气校正后的ndvi_Sentinel2 L1C下载、大气校正、重采样
- SpringCloud Ribbon中的7种负载均衡策略!
- 天正电气html帮助,天正电气绘图经验心得
- 杭电2094产生冠军
- 微信支付id出现的重复支付解决方法和app应用中多种支付方式之间的对比
- (转)让页面自动滚动到刷新页面之前的控件处,减少页面刷新带来的不便。
- 20200718每日一句
- 二十、oracle pl/sql基础
- IT 运营管理 (ITOM)解决方案-OpManager Plus
- RFC2544测试指标
- 口诀计算机,PID算法的通俗讲解及调节口诀[计算机类]
- 7-39 龟兔赛跑 (20 分) 乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。T分钟后乌龟和兔子谁跑得快?PTA:中M2021春C、Java入门练习第I段—变量、表达式、分支、循环
- Dialog_xml制作——博客地址
- Google 人机验证(reCaptcha)无法显示解决方案
- 我经历的日本东京交通
- PD 协议初理解(转)
- body 没有被撑开_父元素没有被撑开塌陷问题解决方案
热门文章
- 用imspost制作catia后处理_这些有趣又精致的模型,都是用3D打印机打印出来的
- 计算机图形学有序边表作业,《计算机图形学》有序边表填充算法.docx
- Springboot2.x +JPA 集成 Apache ShardingSphere 同库分表
- Java问题集锦--The type StringEscapeUtils is deprecated
- PLSQL 日期格式修改
- hbuilder热更新
- 小学五年级年级计算机教学计划,小学五年级信息技术教学计划范文
- mysql c 中文字符串_MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法...
- 手机站的view.php,织梦网站文章内容页动态地址plus/view.php路径修改
- java vector 输出_5.7(java学习笔记)Vector、Enumeration