序列是一块用于存放多个值的连续内存空间,并且按一定顺序排列,每个值(称为元素)都分配一个位置,称为索引或位置。
一、索引
序列中每个元素都有一个编号,也称为索引。这个索引是从0开始递增的,即下标是从0开始,1、2、3、······,如下图所示
python的索引也可以是负数,这个索引从右向左技术,也就是从最后一个元素开始技术,即最后一个元素的索引值是-1,倒数第二个元素的索引值是-2,以此类推,如下图所示
例如,我们我们要访问一个包括4个元素的列表,要访问它的第三个元素和最后一个元素,可以使用下面的代码
verse = ["A","B","C","D"]
print(verse[2]) #输出第二个元素
print(verse[-1]) #输出最后一个元素
结果:
C
D
二、切片
切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片可以生成一个新的序列。语法格式如下:
sname[start:end:step]
- sname:序列名称;
- start:切片开始的位置(包括该位置),如果不指定,则默认为0;
- end:表示切片的截止位置(不包括该位置),如果不指定,则默认为序列的长度;
- step:表示切片的步长,如果省略,则默认为1,当省略该步长,最后一个冒号也可以省略。
注意:在切片操作时,如果指定了步长,那么将按照该步长遍历序列元素,否则将一个个遍历序列。
例如,通过切片获取第2到第6个元素,以及获取第2个、第4个和第6个元素,可以通过以下代码实现:
verse = ["A","B","C","D","E","F","G","H"]
print(verse[1:6])
print(verse[1:6:2])
结果:
注意:如果想要复制整个序列,可以将start和end参数都省略,但是中间的冒号需要保留。例如,verse[:]表示复制整个名称为verse的序列
三、序列相加
在python中,支持两种相同类型相加操作,即将两个序列进行连接,不会去除重复元素,使用加(+)运算符实现。例如,将两个列表相加,可以使用一下代码
verse1 = ["A","B","C"]
verse2 = ["1","2"]
print(verse1+verse2)
结果:
['A', 'B', 'C', '1', '2']
说明:在进行序列相加时,相同类型的序列是指,同为列表、元组、字符串等,字符串中的元素类型可以不同。例如:
num = [7,14,21,28,35,42]
verse = ["今天","我很","开心"]
print(num+verse)
结果:
[7, 14, 21, 28, 35, 42, '今天', '我很', '开心']
但是不能是列表和元组的相加,或者列表和字符串的相加,例如:
num = [7,14,21,28,35,42]
print(num+"输出7的倍数")
四、乘法
在python中,使用数字n乘以一个序列会生成新的序列。新序列内容为原来序列被重复n次的结果,例如下面的代码,将实现一个序列乘以3后生成一个新的序列并输出,从而达到重要的是说三遍的效果。
verse = ["我很开心","我很可爱"]
print(verse*3)
结果:
['我很开心', '我很可爱', '我很开心', '我很可爱', '我很开心', '我很可爱']
在进行序列乘法运算时,还可以实现初始化指定长度列表的功能。例如下面的代码,将创建一个长度为5的列表,列表的每个元素都是None,表示什么都没有。
emptylist = [None]*5
print(emptylist)
结果:
[None, None, None, None, None]
五、检查某个元素是否是序列的成员(元素)
在python中,可以使用in关键字检查某个元素是否是序列的成员,语法格式如下:
value in sequence
其中,value是要检查的元素;sequence表示指定的序列。
例如,要检查verse序列中,是否包含“C”,可以使用以下代码:
verse = ["A","B","C","D","E"]
print("C" in verse)
结果:
True
另外,在python中也可以使用in not关键字实现检查某个元素是否不包含在指定序列中,例如:
verse = ["A","B","C","D","E"]
print("C" not in verse)
结果:
False
六、计算序列的长度、最大值和最小值
在Python中,提供了内置函数计算序列的长度、最大值和最小值,分别是使用
- len()函数:计算序列的长度,即返回序列包含多少个元素;
- max()函数:返回序列中的最大长度;
- min()函数:返回序列中的最小元素
1. len()函数计算列表的长度
verse = ["A","B","C","D","E"]
print("序列的长度为:",len(verse))
结果:
序列的长度为: 5
2.max()函数计算列表的最大元素
verse = [1,3,2,10,4]
print("序列的最大元素是:",max(verse))
结果:
序列的最大元素是: 10
3.min()函数计算列表的最小元素
verse = [3,1,2,10,4]
print("序列的最小元素是:",min(verse))
结果:
序列的最小元素是: 1