21201736-仲昭骏_2021/9/22_学习笔记
Python 操作列表
学习资源:图书《Python编程——从入门到实践》第四章
4.1遍历整个列表
magicians = ['alice','david','carolina']
for magician in magicians:
print(magician)
这行代码让Python从列表magicians中取出一个名字,并将其与变量magician相关联。
最后,让Python打印前面赋给变量magician的名字。对于列表中的每个名字,Python都将重复执行第二、第三行的代码。
4.1.2深入研究循环
1. 对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素。
如果列表包含一个一百万个元素,Python就重复执行指定的步骤一百万次,且通常速度非常快
2. 编写for循环时,可以给依次与列表中每个值相关联的临时变量指定任意名称。然而,选择描述单个列表元素的有意义名称大有裨益。
4.1.2在for循环中执行更多操作
在for循环中,想包含多少代码都可以。
4.1.3在for循环结束后执行一些操作
1. for循环结束后怎么办呢?通常,你需要提供总结性输出或接着执行程序必须完成的其他任务。
2. 在for循环后面,没有缩进的代码都只执行一次,不会重复执行
4.2避免缩进错误
1.Python根据缩进来判断代码行与前一个代码行的关系。
2.Python通过使用缩进让代码更易读。简单地说,它要求你使用缩进让代码整洁而结构清晰。
3.缩进一个空格和十个空格作用相同。
4.2.1 忘记缩进
Python没有找到期望缩进的代码块时,会让你知道哪行代码有问题。
4.2.2 忘记缩进额外的代码行
从语法上看,代码是合法的,但由于存在逻辑错误,结果并不符合预期
4.2.3 不必要的缩进
在前面编写的程序中,并非循环的组成部分无需缩进
4.2.4 循环后不必要的缩进
从语法上看,代码是合法的,但由于存在逻辑错误,结果并不符合预期
4.2.5 遗漏了冒号
for循环后需加“ :”
4-1
4-2
4.3 创造数值列表
4.3.1 使用函数 range( )
1.
for value in range(1,5):
print(value)
1
2
3
4
函数range( )让Python从指定的第一个值开始数,并在到达你指定的第二个值时停止。因为它在第二个值处停止,所以输出不包含该值。
2.
调用函数range( )时,也可只指定一个参数,这样他将从0开始。例如,range(6)返回数0,1,2,3,4,5
4.3.2 使用 range( )创建数字列表
1.要创建数字列表,可使用函数list( )将range( )的结果直接转换为列表。如果将range( )作为list( )的参数,输出将是一个列表。
2.使用函数range( ),还可指定步长。为此,可给这个函数指定第三个参数,Python将根据这个步长来生成数。
3.使用range( )几乎能够创建任何需要的数集。
易读
简洁
Tips:首先应考虑的是,编写清晰易懂且能完成所需功能的代码,等到审核代码时,再考虑采用更高效的方法
4.3.3 对数字列表执行简单的统计计算
函数 min( )找出数字列表的最大值
函数 max( )找出数字列表的最小值
函数 sum( )找出数字列表的总和
4.3.4 列表解析
要使用这种语法,首先指定一个描述性的列表名,如squares。
然后,指定一个左方括号,并定义一个表达式,用于生成要存储到列表中的值。
接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。
Tips:这里的for语句末尾没有冒号。
4-3
4-4
4-5
tips:函数sum()、min()、max()只能运用于数字列表
4-6
4-7
4-8
4-9
2021/9/22/21:10
4.4使用列表的一部分
4.4.1 切片
1.处理列表的部分元素,Python称之为切片。
2.要创造切片,可指定使用的第一个元素和最后一个元素的指引。与函数range( )相同,Python在到达第二个索引之前的元素后停止:
3.如果没有指定第一个索引,python将自动从列表开头开始:
4.如果没有指定第二个索引,切片将终止于列表末尾
5.可在表示切片的方括号内指定第三个值。这个值告诉Python在指定范围内每隔多少元素提取一个。(步长)
Tips:函数range( )的步长如果是9,那么前一个数和后一个数相差9
而切片的步长如果是9,那么前一个元素与后一个元素相隔8个元素
4.4.2 遍历切片
如果要遍历列表的部分元素,可在for循环中使用切片。
4.4.3 复制列表
1.要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引( [ : ] )。
Tips:此时存在两个列表而不是一个列表
2.将列表赋给一个新的变量,不能创造出一个新的列表
4-10
4-11
4-12
4.5元组
4.5.1 定义元组
1.有时候你需要创造一系列不可修改的元素,元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
2.元组看起来很像列表,但使用圆括号而非中括号来标识。定义元组后,就可使用索引来访问其元素。
3.元组中的元素是不可修改的,如果试图修改元组的元素,Python会返回类型错误信息。
Tips:元组是由逗号标识的,圆括号只是让元组看起来更整洁,更清晰。
如果要定义只包含一个元素的元组,必须在这个元素后面加上逗号。
创建只包含一个元素的元组通常没有意义,但自动生成的元组有可能只有一个元素
4.5.2 遍历元组中的所有值
4.5.3 修改元组变量
1.虽然不能修改元组的元素,但可以重新定义整个元组。给元组变量重新赋值是合法的。
2.相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,就可以使用元组。
4-13
Tips:如果程序中间尝试修改元组以至于出现了错误,那么之后的代码不会运行
4.6设置代码格式
4.6.1 格式设置指南
1.要提出Python语言修改建议,需要编写Python改进提案(PEP)。
2.PEP8是最古老的 PEP之一,向Python程序员提供了代码格式设置指南。PEP8的篇幅很长,但基本上与复杂的编码结构相关。
3.代码被阅读的次数比编写的次数多,如果一定要在让代码易于编写和易于阅读之间做出选择,Python程序员几乎总是选择后者。
4.6.2 缩进
1.PEP8建议每级缩进都使用四个空格。
2.在字处理文档中,大家常常使用制表符而不是空格来缩进。
3.如果混合使用了制表符和空格,会让Python解释器感到迷惑,每款Python文本编辑器都提供了一种设置,可以将你输入的制表符转换为指定数量的空格。
(pycharm)
4.6.3 行长
1.很多程序员建议每行不超过80字符。
2.PEP8建议注释的行长不应超过72字符,因为有些工具为大型项目自动生成文档时,会在每行注释开头添加格式化字符。
3.在大多数编辑器中,可以设置一个视觉标识(通常是一条竖线),让你知道不能越过的界线在什么地方。
4.6.4 空行
1.要将程序的不同部分分开,可使用空行。
2.空行不会影响代码的运行,但会影响代码的可读性。
4-14
官方地址:https://www.python.org/dev/peps/pep-0008
中文版地址:https://www.jianshu.com/p/e132bea1d2c9
4-15
无
本章完
2021/9/23/10:40