目录

一、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循环及数字列表相关推荐

  1. python使用正则表达式统计字符串中出现次数最多的数字

    python使用正则表达式统计字符串中出现次数最多的数字 #python使用正则表达式统计字符串中出现次数最多的数字 # find the most occurring element import ...

  2. 三、Python第三课——Python中数字的用法及编码原则(Python禅意)

    目录 一.Python中的数字 1.整数 2.浮点数 3.整数.浮点数和字符串的联系和区别 二.编码原则 1.为代码增加注释 2.Python 禅意 A.编码精美 B.避繁就简 C.无简就繁 D.使用 ...

  3. 【笔记】python中的for循环(遍历列表)、for循环中的一些缩进问题

    文章目录 一.for循环(遍历列表) 在for循环中执行更多的操作 二.for循环中的一些缩进问题 一.for循环(遍历列表) 我们经常需要遍历列表的所有元素,对每个元素执行相同的操作.这种情况下,我 ...

  4. 【Python】第二课 python入门学习

    2.1 print的简单使用 # print 做算术运算print(3+5)print(4*4)print(6/2)print(12-2)print(33 % 5)# print 做多行字符串打印pr ...

  5. python dict(zip)函数_python中zip()函数遍历多个列表方法

    在对列表的元素进行找寻时,会频繁的说到遍历的理念.对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环.本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历.下面我们就python ...

  6. 四、Python第四课——Python中列表及其操作(增删改查)

    目录 一.Python中的列表 1.列表的定义和赋值 2.列表的使用 二.列表的"增删改查" 1.列表中元素的增加 A.在列表尾添加元素 B.在列表中插入元素 2.列表中" ...

  7. 五、Python第五课——Python中组织列表的相关函数

    目录 一.用sort()函数对列表进行永久排序 二.用sorted()函数对列表进行临时排序 三.用reverse()函数对列表进行列表原始排序的逆序输出 四.使用len()函数确定列表长度 创建列表 ...

  8. python自学网课-python网课学习笔记--4

    对象 python中,一切皆对象.每个对象由:标识(identity).类型(type).value(值)组成. 1.标识用于唯一标识对象,通常对应于对象在计算机中的位置.使用函数id(obj)可返回 ...

  9. python运用范围_如何在python中使用某个范围对数字列表进行分组?

    这段代码找到所需的输出,并将每个范围作为一个条目返回到Python列表中.在import numpy data=numpy.array([-5600, 900,2400,1050,1900,2100, ...

最新文章

  1. RHEL/CentOS6.4 x64 VNC服务配置
  2. python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?
  3. 《leetcode》single-number-ii
  4. 大气校正后的ndvi_Sentinel2 L1C下载、大气校正、重采样
  5. SpringCloud Ribbon中的7种负载均衡策略!
  6. 天正电气html帮助,天正电气绘图经验心得
  7. 杭电2094产生冠军
  8. 微信支付id出现的重复支付解决方法和app应用中多种支付方式之间的对比
  9. (转)让页面自动滚动到刷新页面之前的控件处,减少页面刷新带来的不便。
  10. 20200718每日一句
  11. 二十、oracle pl/sql基础
  12. IT 运营管理 (ITOM)解决方案-OpManager Plus
  13. RFC2544测试指标
  14. 口诀计算机,PID算法的通俗讲解及调节口诀[计算机类]
  15. 7-39 龟兔赛跑 (20 分) 乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。T分钟后乌龟和兔子谁跑得快?PTA:中M2021春C、Java入门练习第I段—变量、表达式、分支、循环
  16. Dialog_xml制作——博客地址
  17. Google 人机验证(reCaptcha)无法显示解决方案
  18. 我经历的日本东京交通
  19. PD 协议初理解(转)
  20. body 没有被撑开_父元素没有被撑开塌陷问题解决方案

热门文章

  1. 用imspost制作catia后处理_这些有趣又精致的模型,都是用3D打印机打印出来的
  2. 计算机图形学有序边表作业,《计算机图形学》有序边表填充算法.docx
  3. Springboot2.x +JPA 集成 Apache ShardingSphere 同库分表
  4. Java问题集锦--The type StringEscapeUtils is deprecated
  5. PLSQL 日期格式修改
  6. hbuilder热更新
  7. 小学五年级年级计算机教学计划,小学五年级信息技术教学计划范文
  8. mysql c 中文字符串_MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法...
  9. 手机站的view.php,织梦网站文章内容页动态地址plus/view.php路径修改
  10. java vector 输出_5.7(java学习笔记)Vector、Enumeration