读书笔记——《Python编程从入门到实践》第四章
读书笔记——《Python编程从入门到实践》第四章
本章的主要内容
- 进一步深化列表的使用,包括:列表的遍历;遍历过程中的缩进;如何创建简单的数字列表;列表解析;如何通过切片来获取列表的一部分;
- 学习了元组
- 学习代码格式
深化列表的使用
列表的遍历
所谓列表的遍历,就是对列表中的每一个元素都执行相同的操作。可以使用for循环 来实现列表的遍历,如下所示:
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
for book in books:
print(book)
上例代码中,先创建了一个列表books,列表中保存了三本书的名字。用for循环的方式,将每本书的名字打印出来。for循环轮流将列表中元素取出放到变量book,接着执行print方法打印,这里要注意print方法是往里缩进了的,这是有意为之,缩进的代码表示是for循环对每一个元素要执行的代码。 上面的代码告诉我们,在Python中缩进是严谨的,该缩进不缩进,不该缩进却进行了缩进,都有可能会导致问题,这一点跟其他的编程语言可能有些不同。
创建数值列表
数值列表就是列表中元素都是数值。这里将介绍使用range 方法和list 方法来创建简单的数值列表(当然并不是说只有这种办法)。
range函数
range函数可以帮助我们轻松地生成一系列数。用法如下所示:
- range(end)
生成[0, end)的整数,注意0是闭区间,表示会生成,end是开区间,表示不会生成。例如,range(4),将会生成数字0,1,2,3 - range(begin, end)
生成[begin, end)的整数。例如,range(1, 4),将会生成数字1,2,3 - range(begin, end, step)
生成[begin, end)的整数,并且步长为step,步长就是生成数字间隔的大小。例如,range(1, 4, 2),将会生成数字1,3
range函数结合list函数可以生成数值列表
如下所示:
nums = list(range(1,5))
print(nums)
数值列表的简单统计
数值列表中保存了一系列的数值,我们可以进行简单的统计操作,包括:
nums = list(range(1,5))
print("最大值:" + str(max(nums)))
nums = list(range(1,5))
print("最小值:" + str(min(nums)))
nums = list(range(1,5))
print("总和:" + str(sum(nums)))
列表解析
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素以形成列表的操作。其格式为:[表达式 for循环] ,示例如下:
nums = [value ** 2 for value in range(1,11)]
print(nums)
使用切片来获取列表的一部分
我们已经知道了如何使用列表的一个元素,也知道了使用for循环遍历整个列表的所有元素。但是如何使用列表的一部分元素呢?这就需要使用切片。切片语法如下所示:
-
列表名[开始索引:结束索引] nums = [value ** 2 for value in range(1,11)]
print(nums)
print(nums[1:3])
print(nums[1:])
print(nums[:3])
print(nums[:])
-
列表名[开始索引:结束索引:步长]
nums = [value ** 2 for value in range(1,11)]
print(nums)
print(nums[::2])
切片语法的注意点如下所示:
- 开始索引和结束索引都可以忽略
- 开始索引忽略,表示从0开始
- 结束索引忽略,表示列表的长度
- 冒号不可省略
- 列表索引是从0开始的
- 开始索引是包含的,意味着切片中包含开始索引那个位置的元素
- 结束索引是不包含的,意味着切片中不包含结束索引位置的元素
- 通过切片获取的列表已经是另一个列表,通过
nums[:] 获取到原列表的副本
元组
Python中将不可变的列表称为元组,在很多方面元组跟列表是一样的,例如使用元组、遍历元组都是跟列表是一样的。但是亦有一些不同之处。如下所示:
- 定义元组
先前我们已经知道列表的定义使用方括号,但是元组是使用圆括号来定义的。如下所示:
names = ("freedom", "阿黄", "阿狗")
print(names)
- 修改元组元素
列表是可以,所以元素是可以改变的。元组是不可变的,所以不可修改元组元组。
代码格式
PEP 8 为Python程序员提供了代码格式设置指南。现在先讲解一部分代码格式,如下所示:
PEP 8 建议每级缩进都使用4个空格- 每行不超过80字符,建议注释长度不超过72字符
- 使用空行来组织代码文件,但也不能滥用
|