1. 序列
注意:在 Python 中,序列结构主要有列表、元祖、集合、字典和字符串,对于这些序列结构有以下几个通用的操作。其中,集合和字典不支持索引、切片、相加和相乘操作。
-
索引- 序列中每一个元素都有一个编号,也称为索引。这个索引是从 0 开始递增的。
verse = ['春眠不知晓', 'Python不得了', '夜来爬数据', '好评知多少'] print(verse[0]) # 春眠不知晓 print(verso[2]) # 夜来爬数据- Phthon比较神奇,它的索引可以是负数。这个索引从右向左计数,也就是从最后一个元素开始计数,即最后一个元素索引值是 -1,倒数第二个元素索引值为 -2
verse = ['春眠不知晓', 'Python不得了', '夜来爬数据', '好评值多少'] print(verse[-1]) # 好评值多少 print(verse[-2]) # 夜来爬数据 -
切片 sname[start : end : step]切片操作是访问序列中的另一种方法,它可以访问一定范围内的元素,成一个新的序列。-
sname表示序列的名称 -
start表示切片的开始位置(包括该位置),如果不指定,则默认为 0 -
end表示切片的截止位置(不包括该位置),如果不指定,则默认序列的长度 -
step表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略
nba = ['迈克尔·乔丹', '比尔·拉塞尔', '卡姆立·阿布杜尔·贾巴尔', '威尔特·张伯伦', '埃尔文·约翰逊', '科比·布莱恩特', '蒂姆·邓肯', '勒布朗·詹姆斯', '拉里·伯德', '沙奎尔奥尼尔'] print(nba[1:5]) # ['比尔·拉塞尔', '卡姆立·阿布杜尔·贾巴尔', '威尔特·张伯伦', '埃尔文·约翰逊'] print(nba[0:5:2]) # ['迈克尔·乔丹', '卡姆立·阿布杜尔·贾巴尔', '埃尔文·约翰逊'] print(nba[:]) -
-
序列相加- 在 Python 中,支持两种相同类型的序列相加操作,即使两个序列进行连接,
不会去除重复的元素,在使用加(+)运算符实现。例如,将两个列表(list) 或者 元祖(tuple)相加,可以使用下面的代码。
num1 = [1, 2, 3] num2 = [3, 4, 5] print(num1 + num2) # [1, 2, 3, 3, 4, 5]num1 = (1, 2, 3) num2 = (3, 4, 5) print(num1 + num2) # (1, 2, 3, 3, 4, 5) - 在 Python 中,支持两种相同类型的序列相加操作,即使两个序列进行连接,
-
乘法- 在 Python 中,使用数字 n 乘以一个序列会生成新的序列。新的序列的内容为原来序列被重复 n 次的结果。例如,下面代码,将实现把一个序列乘以 3 生成一个新的序列并输出。从而达到 "重要事情说三遍" 的效果。
phone = ['华为Mate 10', 'Vivo X21'] print(phone * 3) # ['华为Mate 10', 'Vivo X21', '华为Mate 10', 'Vivo X21', '华为Mate 10', 'Vivo X21']- 在进行序列的乘法运算时,还可以实现初始化指定成都列表的功能。例如下面的代码,将创建一个长度为5的列表,列表的每个元素都是 None,表示什么都没有。
emptylist = [None] * 5 print(emptylist) # [None, None, None, None, None] -
检查某个元素是否是序列的成员- 在 Python 中,可以使用
in 关键字检查某个元素是否为序列的成员,即检查某个元素是否包含在某个序列中。value in sequence,value 表示要检查的元素,sequence 表示指定的序列。
nba = ['德怀特·霍华德', '德维恩·韦德', '凯里·欧文', '保罗·加索尔'] print('保罗·加索尔' in nba) # True- 另外,在 Python 中,也可以使用
not in关键字实现检查某个元素是否不包含在指定序列中。例如下面的代码,将显示结果 False
nba = ['德怀特·霍华德', '德维恩·韦德', '凯里·欧文', '保罗·加索尔'] print('保罗·加索尔' not in nba) # False - 在 Python 中,可以使用
-
计算序列的长度、最大值和最小值- 在 Python 中,提供了内置函数计算序列的长度、最大值和最小值。分别是:使用
len()函数计算序列的长度,即返回序列包含多少个元素;使用max()函数返回序列中最大元素;使用min()函数返回序列中最小的元素。
num = [7, 14, 21, 28, 35, 42, 49, 56, 63] print(len(num)) # 9 print(max(num)) # 63 print(min(num)) # 7 - 在 Python 中,提供了内置函数计算序列的长度、最大值和最小值。分别是:使用
-
Python 提供的内置函数及其作用-
list()将序列转换为列表 -
str()将序列转换为字符串 -
sum()计算元素和 -
sorted()对元素进行排序 -
reversed()反向序列中的元素 -
enumerate()将序列组合为一个索引序列,多用在 for 循环中
-