序列
序列是一个用于存储多个值的连续空间,每个值都对应一个整数的编号,成为索引。
索引分为:正向递增索引、反向递减索引
使用索引检索字符串中的元素
#正向递增索引
s='helloworld'
for i in range(0,len(s)):
print(i,s[i],end='\t')
#输出:0 h 1 e 2 l 3 l 4 o 5 w 6 o 7 r 8 l 9 d
print('\n------------------')
#反向递减索引
s='helloworld'
for i in range(-10,0):
print(i,s[i],end='\t')
#输出:-10 h -9 e -8 l -7 l -6 o -5 w -4 o -3 r -2 l -1 d
切片
切片操作可以实现从某个对象中抽取部分值的情况。
切片操作的语法结构:序列[start_index: end_index: step]
start_index:切片的开始索引(包含)
end_index: 切片的结束索引(不包含)
step:步长(默认值为1)
使用示例:
s='HelloWorld'
#切片操作
s1=s[0:5:2] #索引从0开始,到5结束(不包括5),步长为2
print(s1) #输出:Hlo
#省略开始位置,start默认从0开始。
print(s[0:5:1] ) #输出:Hello
#省略开始位置start,省略步长step,默认为1
print(s[:5:]) #输出:Hello
#省略结束位置,默认到序列的最后一个元素(包含最后一个元素)
print(s[0::1]) #输出:HelloWorld
print(s[5::1]) #输出:World
print(s[5:]) #与13行代码功能相同,省略了结束,省略了一个步长 输出:World
#更改步长,步长更改为2
print(s[0:5:2] ) #输出:Hlo
#省略开始位置,省略结束位置,只写步长
print(s[::2]) #分别获取0,2,4,6,8索引位置上的元素 输出:Hlool
#步长为负数
print(s[::-1]) #逆向输出,可以使用以下代码替换 输出:dlroWolleH
print(s[-1:-11:-1]) #输出:dlroWolleH
序列的相关操作
操作符/函数 | 描述说明 |
---|---|
x in s | 如果x是s的元素,结果为True,否则结果为False |
x not in s | 如果x不是s的元素,结果为True,否则结果为False |
len(s) | 序列s中元素的个数(即序列的长度) |
max(s) | 序列s中元素的最大值 |
min(s) | 序列s中元素的最小值 |
s.index(x) | 序列s中第一次出现元素x的位置 |
s.count(x) | 序列s中出现x的总次 |
示例:
s='helloworld'
print('e在helloworld中存在吗?','e'in s) #in的使用
print('v在helloworld中存在吗?','v'in s)
print('---------------------------------')
# not in 的使用
print('e在helloworld中不存在吗?','e'not in s) #not in的使用
print('v在helloworld中不存在吗?','v'not in s)
#序列内置函数的使用
print('len():',len(s))
print('max()',max(s)) #按照ASCII码值比较
print('min()',min(s))
#序列对象的方法,使用序列的名称,打点调用
print('s.index():',s.index('o')) #o在s中第一次出现的索引位置
# print('s.index():',s.index('v')) 出现报错ValueError: substring not found,因为v在字符串中根本不存在,不存在所以找不到
print('s.count():',s.count('o')) #统计O在字符串S中出现的次数