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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

posted @ 2021-09-22 21:09  Inmata  阅读(48)  评论(0)    收藏  举报