Python序列的用法(非常详细,附带实例)
Python 中的序列是指一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号访问它们,这些编号称作索引。
例如,酒店有很多房间,这些房间可以看作是一个序列,房间是内存空间。每个房间都有一个属于自己的编号,这个编号就是索引。起始房间的索引是 0,索引从 0 开始递增,如下图所示。

图 1 索引
Python 除了支持 0 和正整数的索引,也支持负数索引,如下图所示。

图 2 负索引
下面介绍在 Python 中如何运用索引:
下面使用负数索引:
下面进行序列切片:
定义 room1 为“这是一个”,room2 为“五星级酒店”,下面将两个序列进行拼接。
下面验证是否可以使用序列相加进行数学运算:
例如:
再例如:
例如,酒店有很多房间,这些房间可以看作是一个序列,房间是内存空间。每个房间都有一个属于自己的编号,这个编号就是索引。起始房间的索引是 0,索引从 0 开始递增,如下图所示。

图 1 索引
Python 除了支持 0 和正整数的索引,也支持负数索引,如下图所示。

图 2 负索引
下面介绍在 Python 中如何运用索引:
room = "这是一个五星级酒店" print(room[0], room[1], room[2], room[3]) print(room[4], room[5], room[6], room[7]) print(room[8])运行结果为:
这 是 一 个
五 星 级 酒
店
下面使用负数索引:
room = "这是一个五星级酒店" print(room[-1], room[-2], room[-3], room[-4]) print(room[-5], room[-6], room[-7], room[-8]) print(room[-9])运行结果为:
店 酒 级 星
五 个 一 是
这
Python序列切片
在 Python 中,序列切片的语法为:sname[start:end:step]上述语法中参数的含义如下:
- sname:序列名称;
- start:切片的起始索引(包含该位置)。如果不指定 start 的值,则 start 的默认值为 0,即从序列的开头进行切片;
- end:切片的结束索引(不包含该位置)。如果不指定 end 的值,则 end 的默认值为序列的长度。
- step:在切片过程中取元素的索引间隔。如果 step 的值大于 1,则在切片时会“跳跃式”地取元素。如果不指定 step 的值,则 step 的默认值为 1。
下面进行序列切片:
room = "这是一个五星级酒店" print(room[0:9:1]) print(room[4:9:1]) print(room[0:5:1]) print(room[0:9:3])运行结果为:
这是一个五星级酒店
五星级酒店
这是一个五
这个级
- room[0:9:1] 表示整个字符串,即表示“这是一个五星级酒店”。
- room[4:9:1] 表示“五星级酒店”,去掉前面 4 个字“这是一个”。
- room[0:5:1] 表示“这是一个五”,不显示后面的字。
- room[0:9:3] 表示“这个级”,先显示第一个字“这”,再每 3 个字取 1 个字。
Python序列相加
Python使用“+”运算符将两个序列进行拼接。定义 room1 为“这是一个”,room2 为“五星级酒店”,下面将两个序列进行拼接。
room1 = " 这是一个 " room2 = " 五星级酒店 " print(room1 + room2)运行结果为:
这是一个五星级酒店
结果显示,room1 和 room2 两个序列拼接成“这是一个五星级酒店”。下面验证是否可以使用序列相加进行数学运算:
room1 = "520" room2 = "1314" print(room1 + room2)运行结果为:
5201314
结果显示,room1 和 room2 两个序列进行了拼接操作,而非数学运算。Python序列相乘
在 Python 中,序列乘以一个数字 n,可将该序列拼接 n 次。例如:room1 = " 语数英 " room2 = "123" print(room1 * 3) print(room2 * 4)运行结果为:
语数英语数英语数英
123123123123
Python序列检索成员
在 Python 中,可以使用关键字 in 检索某元素是否为序列的成员,语法为:value in sequence其中,value 表示要检索的元素,sequence 表示指定的序列。若value不止一个,只有所有 value 都是序列的成员时,才会返回 True,否则返回 False。
例如:
room = "语数英的考试成绩合格" print('语' '数' in room) print('语' '历' in room) print('历' '好' in room)运行结果为:
True
False
False
Python序列排序
序列排序是指对序列中的元素进行排序。例如:a = "456123987" print(sorted(a))运行结果为:
['1', '2', '3', '4', '5', '6', '7', '8', '9']
此时将序列 a 中的数字按从小到大重新排序。再例如:
a = "zeftdcab" print(sorted(a))运行结果为:
['a', 'b', 'c', 'd', 'e', 'f', 't', 'z']