python中字符串和列表只是汇总

字符串知识汇总

字符串是描述变量的重要信息,其中的应用也是很多,很重要的一点就是StringBuilder。今天我们会为大家介绍一下常用的StringBuilder

1 strip lstrip rstrip

作用:去除多余空格或其他

print('**sss****'.lstrip('*'))
 print('**sss****'.rstrip('*'))
 a = '***---*****'
 print(a.strip('-_'))
 print(a.rstrip("*"))

输出结果

sss****
 **sss
 ***---*****
 ***---

2 lower,upper

作用:所有字母大写,和小写

print('EGOn'.lower())
 print('egon'.upper())

输出结果

egon
 EGON

3 startswith endswith

print('alex is sb'.startswith('alex'))
 print('alex is sb'.endswith('sb'))

输出结果

True
 True

4 format 用法

作用:

1 替代%s占位符,多出来的对应不会报错

2 以索引方式,可实现对此重复

3 以映射方式实现对应关系

s1='my name is %s my age is %s' %('egon',18) # 如果加入一个19 ,择多出来的19 会让程序报错
 s2='my name is {} my age is {}'.format('egon',18,19) #多出来的19没有映射关系,但是程序不会报错
 print(s1)
 print(s2)

输出结果

my name is egon my age is 18
 my name is egon my age is 18
s2 = 'my name is {0} my age is {1} {0} {1}{2}'.format('egon',18,19)
 print(s2)

输出结果

my name is egon my age is 18 egon 1819
s2 = 'my name is {name} my age is {age}'.format(age = 18,name = 'egon')
 print(s2)

输出结果

my name is egon my age is 18

5 split rsplit

作用:按照指定要求切分字符串

cmd='get|C:\a.txt|3333'
 print(cmd.split('|',1)) # 数字1表示切割次数
 print(cmd.rsplit('|',1)) # rsplit先从右边切割

输出结果

1 ['get', 'C:\x07.txt|3333']
2 ['get|C:\x07.txt', '3333']

6 join

# cmd='egon:123:admin:rwx'
 # l=cmd.split(':')
 # print(l)
 # res='----'.join(l)
 # print(res)
 # res=':'.join(l)
 # print(res)
 # res='          '.join(l)
 # print(res,type(res))
 # print(l)
 # 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<br /><br />:'.join([1,2,3]) # join方法传入的列表必须只包含str类型的元素
<em>此代码如果运行,程序会报错</em>

7 replace

作用 替换

msg='wupeiqi say my name is wupeiqi'
 print(msg.replace('wupeiqi','SB'))
 print(msg.replace('wupeiqi','SB',1))

输出结果

SB say my name is SB
 SB say my name is wupeiqi

8 isdigit

作用:判断数据类型是否为数字

age=10
 inp=input('>>: ').strip()
 if inp.isdigit():
     inp=int(inp)
     if inp > age:
         print('too big')
 else:
     print('输入数据非法')

比变了因为用户输入不合法使程序报错

列表知识汇总

1 字符串可以转化为列表

l1=list('hello')
 print(l1)

输出结果

['h', 'e', 'l', 'l', 'o']

2列表常用操作+内置的方法

l=['a','b','c']
 print(id(l))
 print(l[-1])
 l[0]='A'
 print(id(l))
 print(l)

输出结果

31329992
 c
 31329992
 ['A', 'b', 'c']

l[3] = "d" #报错

3 切片,顾头不顾尾,步长

stus=['alex','egon','wxx','yxx','lxx']
 
 print(stus[1:5:2])

输出结果

['egon', 'yxx']
#3、长度<br /># stus=['alex','egon','wxx','yxx','lxx']<br /># print(len(stus))<br /><br />#4、成员运算in和not in<br /># stus=['alex','egon','wxx','yxx','lxx']<br /># print('alex' not in stus)<br /><br />#5、追加<br /># stus=['alex','egon','wxx','yxx','lxx']<br /># A = stus.append('wupei')<br /># stus.append('peiqi')<br /># print(stus)<br /># print(A)<br /># 插入<br /># stus=['alex','egon','wxx','yxx','lxx']<br /># stus.insert(1,'艾利克斯')<br /># print(stus)<br /><br />#6、删除<br /># stus=['alex','egon','wxx','yxx','lxx']<br /># del stus[1]<br /># print(stus)<br /># stus.remove('alex')<br /># print(stus)<br /><br /># stus.pop(1)<br /># stus.pop() # 默认删除末尾<br /># print(stus)<br /><br /># res1=stus.remove('alex') # 单纯的删除<br /># print(res1)<br /># res2=stus.pop(0) # 取走一个值<br /># print(res2)<br /><br />#7、循环<br /># stus=['alex','egon','wxx','yxx','lxx']<br />#依赖索引<br /># i=0<br /># while i < len(stus):<br />#     print(stus[i])<br />#     i+=1<br /><br /># for i in range(len(stus)): # 可以加上元素顺序<br />#     print(i,stus[i])<br /><br /># 不依赖索引<br /># for item  in stus:<br />#     print(item)<br /><br /><br />#补充for循环<br /># for i in range(0,5,2): # 0,5 表示区间,2 表示步长<br />#     print(i)<br /># for i in range(10):#默认从零起始<br />#     print(i)<br />#<br /># for i in range(10,-2,-1): # 反向切片<br />#     print(i)<br /><br /><br /># 需要掌握的操作<br /># stus=['alex','egon','alex','wxx','yxx','lxx']<br /># print(len(stus)) # stus.__len__()<br />#<br /># print(stus.count('alex'))<br /># stus.extend(['a','b','c']) # 把新增列表中的元素逐一添加到原列表中<br /># print(stus)<br /># stus.append(['a','b','c']) # 把新增列表作为一个元素添加到原列表中<br /># print(stus)<br /><br /><br /># print(stus.index('alex',0,5))  # alex这个元素在区间(0,5)范围内第一个出现的索引值<br />#<br /># stus.reverse()<br /># print(stus)<br /><br /># l=[1,10,3,12]<br /># a = l.sort(reverse= True)<br /># print(l)<br /># print(a)<br /><br /><br /># 大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的<br /># s1='hello'<br /># s2='hf'<br /># print(s1 > s2)<br /><br /># l1=[3,'a','b','c']<br /># l2=['xxx','d']<br /># print(l1 > l2)  # 报错<br /><br /><br /><br /># print('Z' > 'a')<br />#   #A-Za-z<br /># print('a' > 'B')<br /><br /><br /><br /><br /><br /><br /># 了解<br /># stus.clear()<br /># print(stus)<br /># l=stus.copy()<br /># print(l)<br /><br /><br /><br />#练习:<br />#队列:先进先出<br />l1=[]<br /><br /># 入队<br />l1.append('first')<br />l1.append('second')<br />l1.append('third')<br />print(l1)<br /># 出队<br />print(l1.pop(0)) #['second', 'third']<br />print(l1.pop(0)) #['third']<br />print(l1.pop(0)) #[]<br /><br />#堆栈:先进后出<br /># l1=[]<br /># #入栈<br /># l1.append('first')<br /># l1.append('second')<br /># l1.append('third')<br /># #出栈<br /># print(l1.pop())<br /># print(l1.pop())<br /># print(l1.pop())<br /><br /><br />#总结列表类型:<br />'''<br />1 存多个值<br /><br />2 有序<br /><br />3 可变<br /><br />4 列表后面加.append,这一类的,有的有返回值,有的没有返回值<br />'''
列表是可变类型,同一个内存地址,可以对列表修改,id不变,值变了就是可变类型,不可哈希<br /># 字符串不可变类型,字符串可以想列表一样提取出来,但是不可以更改编制,只要一改,<br /># 内存地址就变了,相应的id也就变了,id变了就是不可变类型,可哈希

相关推荐