概述
目录
一、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中的for循环 “for magician in magicians:” 二、数字列表的全部内容,希望文章能够帮你解决六、Python第六课——Python中的for循环及数字列表一、Python中的for循环 “for magician in magicians:” 二、数字列表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复