字符串操作

it2022-05-05  100

基本使用:拼接、提取、切片等 s1=‘hello’ s2=‘world’ #连接 print(s1+s2) print(s1[0])#提取一个字符

print(s1[1:3])#切片,s[起始:结束:步长]包括开始的下标,不包括结束的下标 print(s1 * 3)# 将指定字符串重复若干次 print(len(s1))# 统计字符个数 print(s2[1:])#从第二个开始打印 print(s2[:1])#打印第二个之前的 print(s2[:-1]) print(s2[-1:]) print(s2[:])#打印全部

print(s2[::2])#步长默认为1,而此时步长设置为2 print(s2[1:-2]) print(s2[::-1])# 逆序,步长为负时倒序提取

print(s2[-1:2:-1])#-1为起始坐标,逆序取的时候还有字符可以取 print(‘xxx’, s2[1:-1:-1])#2为起始坐标,逆序的时候没有字符可以取

print(ord(‘h’))#获取字符的ASCII码 print(chr(100))#获取对应ASCII码的字符 格式化:就是将不同的变量拼接成一个字符串

通用方案:使用%进行占位特有方案:使用字符串的format方法 name=‘zhangsan’ age=18 print(“我的名字 %s,今年 %d” %(name,age))#通用 print(“我的名字 {},今年 {}”.format(name,age))#推荐使用,不设置指定位置,按默认顺序 print(“我的名字 {1},今年 {0}”.format(name,age))#根据序号进行排序 print(“我的名字 {n},今年 {a}”.format(a=age,n=name))#设置参数 执行结果: 字符串函数: s=‘nice to meet you’ print(s.split())#默认按照空格进行切割,返回的是一个列表 print(s.split(sep=‘t’))#指定切割内容,如果切割内容不存在,就返回原内容 print(s.split(maxsplit=1))#指定切割次数 print(s.rsplit(maxsplit=1))#从右边开始切割

s1=‘hello\nworld\nnfjb’ print(s1.splitlines())#按照\n进行切割

lt=[‘hello’,‘world’] print(’’.join(lt))#拼接 print(’’.join(list(s)[:3]))

print(s.find(‘t’)#默认从左开始查找,返回的是第一个匹配的值的下标,如果查找的值不存在就返回-1 print(s.rfind(‘m’))#从右边开始查找,找到返回下标,找不到返回-1 print(s.count(‘m’)#统计出现次数,如果不存在就返回0

print(s.startswitch(‘nice’))#是否以指定内容开头,是就返回True print(s.endswitch(’!))#是否以指定内容结尾,不是返回False

print(s.upper())#全大写 print(s.lower())#全小写 print(s.swapcase())#大小写转换,大写转小写,小写转大写 print(s.capitalize())#第一个单词首字母大写 print(s,title())#每个单词的首字母大写 print(s.replace(‘t’,‘T’))#替换

print(‘abhjb’.isupper())#判断是否是大写,是返回True print(‘uigb’.islower())#判断是否是小写 print(s.istitle())#判断每个单词首字母是否大写,是返回True print(‘bdj’.isedcimal())#判断是否是十进制 print(‘nvsjkh’.isalpha())#判断是否是字母 print(‘bdh’.isalnum())#判断是否全是字母或者数字 print(‘viug’.isidentifier())#判断是否是正确的标识符

print(‘hudhf’.ljust(10)+‘hgy’)#左对齐,默认填充空格 print(‘jfdb’.rjust(5))#右对齐 print(‘bhd’.center(9,’#’))#居中对齐 print(’#’+’ bjdb\n’.strip()+’’)#去掉两边的内容 print(‘bjkfdb’.strip(‘bf’))#去掉指定内容,如果有多个就去掉第一个匹配的值 print(’&’+’ uigfu’+’&’.lstrip())#去掉左边的 print(’&’+’ uigfu’+’*&’.rstrip())#去掉右边的

#拷贝,深浅拷贝是针对可变元素而言的,不可变元素不存在深浅拷贝的问题 import copy #不可变类型 d=6525 d1=d d3=copy.copy(d) d4=copy.deepcopy(d) print(d1) print(d3) print(d4)#d1、d3、d4的值一样

#可变类型(引用类型) s=[12,3,2,[8,6,4]] s2=s s3=copy.copy(s)#浅拷贝,只拷贝对象本身,内部元素只拷贝引用 s4=copy.deepcopy(s)#深拷贝,不但拷贝对象还会拷贝内部元素 print(s is s2) print(s is s3) print(s is s4) s[0]=50 s[3][2]=100 print(s2) print(s3) print(s4) s5=s.copy()#浅拷贝 print(s is s5)

s[2]=40 s[3][1]=103 print(s5)


最新回复(0)