12.19 Python 序列对象
字符串 str
概述:内容元素不可变,元素有序(索引,下标,左从 0 开始,右从1开始),常用方法有切片、查找、修改和判断等,
str 切片
概述:str_name[ strart_index : stop_index : step_size ], 最简 str_name[ strart_index ],如果结果需要在下文中使用,需要设置一个新的 str 对象接收切片的返回值,以下是常用用法。
name = "0123456"
print(name[2:5:1]) # 234,正数时0开始包前不包后
print(name[2:5]) # 234, 步长省略默认为 1
print(name[:5]) # 01234, 开始留空默认最小,即开头
print(name[1:]) # 123456, 结束留空默认最大,即结尾
print(name[:]) # 0123456
print(name[::2]) # 0246, 0开始,每+2个步长一截
print(name[:-1]) # 012345, 负1表示倒数第⼀一个数据
print(name[-4:-1]) # 345, 负的倒数时从-1开始包前不包后
print(name[::-1]) # 6543210, 反转
str 查找
概述:查找某个子字符串(括号中的)在原字符串中的位置或出现的次数,返回值 int 类型。
PS:1、还有“rfind”、“rindex”方法,与“find”、“index”的区别是从右侧开始,右侧下标从1开始。
2、终止位置 stop 可以单独省略,或与起始位置 start,一起省略,起始位置 start 不能单独省略。
3、当不确定时不要用 index 而用 find,否则影响程序后续运行。
demo_str="0123454321"
print(demo_str.find("23")) # 2,起始索引
print(demo_str.find("22",2)) # -1,不存在
print(demo_str.rindex("12")) # 1,按先后顺序匹配,右侧查找“12”相当于左侧查找"21"
print(demo_str.rindex("12",2,10)) # 报错
print(demo_str.count("1",0,5)) # 1
str 修改
概述:对字符串内容进行修改,因为字符串不可变,因此修改动作不会改变原来字符串 str 的内容,如果修改过的结果需要在下文中使用,需要设置一个新的 str 对象接收切片的返回值,以下是常用用法。