字符串知识汇总
字符串是描述变量的重要信息,其中的应用也是很多,很重要的一点就是StringBuilder。今天我们会为大家介绍一下常用的StringBuilder
1 strip lstrip rstrip
作用:去除多余空格或其他
1 print(‘**sss****‘.lstrip(‘*‘)) 2 print(‘**sss****‘.rstrip(‘*‘)) 3 a = ‘***---*****‘ 4 print(a.strip(‘-_‘)) 5 print(a.rstrip("*"))
输出结果
1 sss**** 2 **sss 3 ***---***** 4 ***---
2 lower,upper
作用:所有字母大写,和小写
1 print(‘EGOn‘.lower()) 2 print(‘egon‘.upper())
输出结果
1 egon 2 EGON
3 startswith endswith
1 print(‘alex is sb‘.startswith(‘alex‘)) 2 print(‘alex is sb‘.endswith(‘sb‘))
输出结果
1 True 2 True
4 format 用法
作用:
1 替代%s占位符,多出来的对应不会报错
2 以索引方式,可实现对此重复
3 以映射方式实现对应关系
1 s1=‘my name is %s my age is %s‘ %(‘egon‘,18) # 如果加入一个19 ,择多出来的19 会让程序报错 2 s2=‘my name is {} my age is {}‘.format(‘egon‘,18,19) #多出来的19没有映射关系,但是程序不会报错 3 print(s1) 4 print(s2)
输出结果
1 my name is egon my age is 18 2 my name is egon my age is 18
1 s2 = ‘my name is {0} my age is {1} {0} {1}{2}‘.format(‘egon‘,18,19) 2 print(s2)
输出结果
1 my name is egon my age is 18 egon 1819
1 s2 = ‘my name is {name} my age is {age}‘.format(age = 18,name = ‘egon‘) 2 print(s2)
输出结果
1 my name is egon my age is 18
5 split rsplit
作用:按照指定要求切分字符串
1 cmd=‘get|C:\a.txt|3333‘ 2 print(cmd.split(‘|‘,1)) # 数字1表示切割次数 3 print(cmd.rsplit(‘|‘,1)) # rsplit先从右边切割
输出结果
1 [‘get‘, ‘C:\x07.txt|3333‘] 2 [‘get|C:\x07.txt‘, ‘3333‘]
6 join
1 # cmd=‘egon:123:admin:rwx‘ 2 # l=cmd.split(‘:‘) 3 # print(l) 4 # res=‘----‘.join(l) 5 # print(res) 6 # res=‘:‘.join(l) 7 # print(res) 8 # res=‘ ‘.join(l) 9 # print(res,type(res)) 10 # print(l) 11 # print(‘%s:%s-%s-%s‘ %(l[0],l[1],l[2],l[3]))
输出结果
1 egon:123:admin:rwx 2 egon 123 admin rwx <class ‘str‘> 3 [‘egon‘, ‘123‘, ‘admin‘, ‘rwx‘] 4 egon:123-admin-rwx :‘.join([1,2,3]) # join方法传入的列表必须只包含str类型的元素
此代码如果运行,程序会报错
7 replace
作用 替换
1 msg=‘wupeiqi say my name is wupeiqi‘ 2 print(msg.replace(‘wupeiqi‘,‘SB‘)) 3 print(msg.replace(‘wupeiqi‘,‘SB‘,1))
输出结果
1 SB say my name is SB 2 SB say my name is wupeiqi
8 isdigit
作用:判断数据类型是否为数字
1 age=10 2 inp=input(‘>>: ‘).strip() 3 if inp.isdigit(): 4 inp=int(inp) 5 if inp > age: 6 print(‘too big‘) 7 else: 8 print(‘输入数据非法‘)
比变了因为用户输入不合法使程序报错
列表知识汇总
1 字符串可以转化为列表
1 l1=list(‘hello‘) 2 print(l1)
输出结果
[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
2列表常用操作+内置的方法
1 l=[‘a‘,‘b‘,‘c‘] 2 print(id(l)) 3 print(l[-1]) 4 l[0]=‘A‘ 5 print(id(l)) 6 print(l)
输出结果
1 31329992 2 c 3 31329992 4 [‘A‘, ‘b‘, ‘c‘]
l[3] = "d" #报错
3 切片,顾头不顾尾,步长
1 stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘] 2 3 print(stus[1:5:2])
输出结果
1 [‘egon‘, ‘yxx‘]
#3、长度# stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘]# print(len(stus)) #4、成员运算in和not in# stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘]# print(‘alex‘ not in stus) #5、追加# stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘]# A = stus.append(‘wupei‘)# stus.append(‘peiqi‘)# print(stus)# print(A)# 插入# stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘]# stus.insert(1,‘艾利克斯‘)# print(stus) #6、删除# stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘]# del stus[1]# print(stus)# stus.remove(‘alex‘)# print(stus) # stus.pop(1)# stus.pop() # 默认删除末尾# print(stus) # res1=stus.remove(‘alex‘) # 单纯的删除# print(res1)# res2=stus.pop(0) # 取走一个值# print(res2) #7、循环# stus=[‘alex‘,‘egon‘,‘wxx‘,‘yxx‘,‘lxx‘]#依赖索引# i=0# while i < len(stus):# print(stus[i])# i+=1 # for i in range(len(stus)): # 可以加上元素顺序# print(i,stus[i]) # 不依赖索引# for item in stus:# print(item) #补充for循环# for i in range(0,5,2): # 0,5 表示区间,2 表示步长# print(i)# for i in range(10):#默认从零起始# print(i)## for i in range(10,-2,-1): # 反向切片# print(i) # 需要掌握的操作# stus=[‘alex‘,‘egon‘,‘alex‘,‘wxx‘,‘yxx‘,‘lxx‘]# print(len(stus)) # stus.__len__()## print(stus.count(‘alex‘))# stus.extend([‘a‘,‘b‘,‘c‘]) # 把新增列表中的元素逐一添加到原列表中# print(stus)# stus.append([‘a‘,‘b‘,‘c‘]) # 把新增列表作为一个元素添加到原列表中# print(stus) # print(stus.index(‘alex‘,0,5)) # alex这个元素在区间(0,5)范围内第一个出现的索引值## stus.reverse()# print(stus) # l=[1,10,3,12]# a = l.sort(reverse= True)# print(l)# print(a) # 大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的# s1=‘hello‘# s2=‘hf‘# print(s1 > s2) # l1=[3,‘a‘,‘b‘,‘c‘]# l2=[‘xxx‘,‘d‘]# print(l1 > l2) # 报错 # print(‘Z‘ > ‘a‘)# #A-Za-z# print(‘a‘ > ‘B‘) # 了解# stus.clear()# print(stus)# l=stus.copy()# print(l) #练习:#队列:先进先出l1=[] # 入队l1.append(‘first‘)l1.append(‘second‘)l1.append(‘third‘)print(l1)# 出队print(l1.pop(0)) #[‘second‘, ‘third‘]print(l1.pop(0)) #[‘third‘]print(l1.pop(0)) #[] #堆栈:先进后出# l1=[]# #入栈# l1.append(‘first‘)# l1.append(‘second‘)# l1.append(‘third‘)# #出栈# print(l1.pop())# print(l1.pop())# print(l1.pop()) #总结列表类型:‘‘‘1 存多个值 2 有序 3 可变 4 列表后面加.append,这一类的,有的有返回值,有的没有返回值‘‘‘
列表是可变类型,同一个内存地址,可以对列表修改,id不变,值变了就是可变类型,不可哈希# 字符串不可变类型,字符串可以想列表一样提取出来,但是不可以更改编制,只要一改,# 内存地址就变了,相应的id也就变了,id变了就是不可变类型,可哈希
原文地址:https://www.cnblogs.com/mayite/p/8611484.html
时间: 2024-11-09 15:55:31