字符串操作
1、切片操作
字符串的访问按照顺序进行访问,所以有切片操作
s = "abcdefg" # a-g下表顺序为0-6 s[3:6] # 不包括6,即顾头不顾尾,返回结果为def s[2:4] # 结果为cd
2、常用操作(必会)
################ a = "A管理系统A" center(self,width,fillchar = None) # width为宽度, # center举例,返回以 字符串a居中,'-'字符填充两边达到12长度 格式的字符串 print(a.center(12,"-")) # 结果:---A管理系统A--- count(self, sub, start=None, end=None) # 局部搜索 # count举例,查找字符串a中是否有'理'字符,有则1,无则0 print(a.count('理')) # 默认全长,结果:1 print(a.count('理'),0,5) # 从0下标开始,5下标结束,结果:1 print(a.count('理'),4,5) # 从4下标开始,5下标结束,结果:0 startswith(self,prefix,start = None,end = None) # 判断开头 endswith(self, suffix, start=None, end=None) # 判断尾部 # 举例 print(a.endswith('A')) # True print(a.endswith('A统')) # False print(a.endswith('统A')) # True print(a.startswith('A')) # True print(a.startswith('A管')) # True print(a.startswith('管A')) # False find(self , sub, start=None, end=None) # 字符查找,找到返回索引,没有返回-1 #举例 print(a.find("A")) # 0 print(a.find("B")) # -1 isdigit(self) # 判断是否是整数 #isdigit举例 print(a.isdigit()) # False print("22".isdigit()) # True join(self,iterable) # 拼接字符串,将列表按照第一个字符拼接 #join举例 b = '+' l = ["alex","black girl","peiqi"] print(b.join(l)) # alex+black girl+peiqi print("".join(l)) # alexblack girlpeiqi print("-".join(l)) # alex-black girl-peiqi replace(self,old,new,count = None) # replace举例 a.replace("系","systom") # a中的系替换为systom print(a) # 字符串不可变,修改等同于创建新值,需要改变指向才能更改,结果:A管理系统A a = a.replace("系","systom") print(a) # A管理systom统A a = a.replace("A","s",1) # 1代表只替换一次 print(a) # s管理systom统A strip(self,chars = None) # 去除首尾的空格(连续)或回车(连续),加了字符即去除首尾指定字符(连续) split(self,sep = None,maxsplit = -1) # 按指定分隔符将字符串分为列表,默认为空格,可指定次数 # split举例 print(s.split("e")) # ['Al', 'x lik', ' Stiv', ''] print(s.split("l",2)) # ['A', 'ex ', 'ike Stive'] encode(self , encoding='utf-8', errors='strict')
列表操作
每个二级标题quality为如下定义:
quality = ["brave","patience","persseverance"]
1、追加、插入、删除
quality.insert(3,"courage") # 3代表你想插⼊的下标位置 quality.append("strive") # 尾部追加 # 通过指定元素名删除, 会删除从左开始找到的第⼀个⼩明, 如果有多个⼩明,则只删除找到的第⼀个 quality.remove("courage")
2、嵌套、合并、修改
quality.insert("fire",["a","b"]) # 列表中嵌套列表 # 嵌套后可以访问和修改 print(quality) # ['brave', 'pations', 'persseverance', ['a', 'b'], 'strive'] print(quality[3]) # ['a', 'b'] print(quality[3][1]) # b quality[3][1] = "aabc" # 修改 print(quality) # ['brave', 'pations', 'persseverance', ['a', 'aabc'], 'strive'] #合并extend b = ["aa","bb",,"cc"] quality.extend(b) # 列表quality尾部添加列表b print(quality) # ['brave', 'pations', 'persseverance', ['a', 'aabc'], 'strive', 'aa', 'bb', 'cc']
3、删除
del 直接删
del quality[0] print(quality) # ['patience', 'persseverance']
pop 删除
s1 = quality.pop() #默认删除最后⼀个元素并返回被删除的值 print(s1) # persseverance s2 = quality.pop(1) #删除指定元素 print(s2) # patience
remove 删除
quality.remove("brave") # 删除找到的第一个brave值
clear 清空
quality.clear() # 删除找到的第一个brave值 print(quality) # []
4、查操作
quality.index("brave") #返回从左开始匹配到的第⼀个brave的索引 quality.count("brave") #返回brave的个数,没有返回0
5、切片、倒切、跳切
quality[start : end] # 从start下标开始,到end-1结束,不包括end,end可以超过下标限制
可以简写,quality[0:2]和quality[:2]效果一致,quality[0:2]和quality[0:]一致
quality[start : end] # 从start下标开始,到end-1结束,不包括end
倒切时,最后一位下标为-1,从右往左依次为-1、-2、-3...,但切片操作是从左往右的,所以:
# 最后两个元素 print(quality[-2:]) # ['patience', 'persseverance'] # 跳切,切片加上步长即可 print(quality[0:-1:1]) # 与print(quality[0::1])效果一致:['brave', 'patience']
6、排序和反转
quality.sort() print(quality) # 默认排序顺序:大写->小写->中文,结果:['brave', 'patience', 'persseverance'] quality.reverse() # 反转列表 print(quality) # ['persseverance', 'patience', 'brave']
7、循环列表
# 循环打印列表元素 for i in quality: print(i) # 结果: # brave # patience # persseverance # 附带下标打印 for i in enumerate(quality): # 以元组形式打印 print(i) # 结果: # (0, 'brave') # (1, 'patience') # (2, 'persseverance') for i in enumerate(quality): print(i[0],i[1]) # 结果: # 0 brave # 1 patience # 2 persseverance