Python中,序列是指一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。它类似于C/C++中的数组或字符串,但又比数组或字符串强大很多
序列类型包括字符串、列表、元组、集合和字典
序列的索引
序列的索引包括正索引和负索引
下图为正索引,顺序为从左向右,下标从0开始,依次为0,1,2……
下图为负索引,顺序为从右向左,下标从-1开始,依次为-1,-2,-3……
不论从正索引还是负索引,都能通过下标直接增删改查对应的元素
例如
s='HelloWorld'
print(s[1]) #直接输出下标为1的值
for i in s:
print(i, end=' ') #按顺序输出序列中的值,并以空格隔开
输出结果为
序列的切片
序列的切片其实是同时访问序列中多个元素的方法,其语法结构如下
其中:start不写时默认从序列最左侧(0或-n)开始,end不写默认到序列最右侧,且包含末尾元素,step不写默认为1
例如
s='HelloWorld'
print(s[0:5:2]) #从下标0开始,到下标4结束,每隔2个取一个元素
print(s[1:3]) #不写步长(step),则默认为1,等同写print(s[1:3:])
print(s[:3]) #不写start,则默认从0开始,等同写print(s[:3:])
print(s[1:]) #不写end,则默认到序列尾,且包含末尾元素
print(s[1::2]) #不写end,默认到序列尾,且包含末尾元素
print(s[:-1:]) #因为end为-1,所以start默认从最右侧(即-10),不包含-1,步长为1
print(s[-8::]) #因为start为-8,所以end默认为最右侧(即-1),且包含-1,步长为1
输出结果如下
序列相关操作
相关操作如下表所示
例如
s1='Hello'
s2='World'
s=s1+s2 #序列元素可以直接相加
print(s)
print(len(s)) #打印序列s的元素个数
print(max(s))
print(min(s))
if 'el' in s: #判断是否是序列的元素,是区分大小写的
print('el in s')
if 'hello' not in s: # hello 和 Hello不相等,判断为True
print('区分大小写')
print(s.index('l')) # l 在s序列中第一次出现的位置
print(s.count('l')) # l 在序列s中出现的次数
#print(s.index('v')) #运行报错,因为 v 在序列中不存在
执行结果如下