python中字符串和列表只是匯總
阿新 • • 發佈:2018-03-20
.so join方法 gpo copy col 返回值 介紹 運算 AC
字符串知識匯總
字符串是描述變量的重要信息,其中的應用也是很多,很重要的一點就是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變了就是不可變類型,可哈希
python中字符串和列表只是匯總