python學習記錄(二) 字串操作

2021-08-24 17:57:10 字數 2646 閱讀 9513

1.計算字串中某字元出現的次數和字串中是否包含某字元(串):

msg = "if there are an odd number of miners, then the core is empty."

print(msg.count('e'))

#結果為9

print(msg.count('e',0,8))

#結果為2 從索引為0的第乙個字元開始向後取8位

print(msg.find("miners"))

#結果為30 如果包含則返回搜尋字元(串)開始的索引值,否則返回-1

print(msg.find("miners",0,20))

#結果為-1 搜尋比對索引0~20的字串

print(msg.index("miners"))

#結果為30 如果包含同find方法,否則會丟擲valueerror

2.拼接字串:

#拼接 方法1(+號拼接)

one_str = "i'm "

two_str = "zhuoren"

print(one_str + two_str)

#方法2 join方法

strlist = ["i'm ","zhuoren"]

print(''.join(strlist))

#方法3 格式化

print("%s%s"%(one_str,two_str))

#三種方法輸出結果都為:i'm zhuoren

#拼接字串較少時效率:方法1 ≈ 方法3 > 方法2 拼接數量較多時效率:方法2 > 方法3 > 方法1

3.分割、擷取、替換字串:

#分割

#方法1 str.split(不支援正則及多個切割符號)

msg = "hello,python,i'm zhuoren"

print(msg.split(','))

#方法2 re.split(支援正則及多個切割符號)

from re import split

msg = "hello,python,,i'm zhuoren"

print(split('\s*,',msg))

#結果都為:['hello', 'python', "i'm", 'zhuoren']

#擷取str = "0123456789"

print (str[6:]) #6789

print (str[:-3]) #0123456

print (str[::-1]) #9876543210

print (str[-3:-1]) #78

print (str[-3:]) #789

print (str[:-5:-3]) #逆序擷取,str[:-5:-1]為倒序擷取後半段即9876,又因步長大小為3所以結果為96

#替換name ="hello zhuoren,你好 zhuoren"

print(name.replace('zhuoren','world',1))

#結果為:hello world,你好 zhuoren

4.判斷是否為字母、數字組成:

name = "zhuoren512"

print(name.isalnum()) #字串由字母或數字組成

#true

print(name.isalpha()) #字串只由字母組成

#false

print(name.isdigit()) #字串只由數字組成

#false

5.格式化輸出字串:

str = "{} {} {}".format('tom',25,'male')

str = " ".format('tom','male',25)

str = " ".format(age=25,name='tom',***='male')

print (str)

#結果都為:tom 25 male

6.字串補齊

name = "zhuoren512".rjust(12)    #向右對齊,不齊往左邊補空格

print(name)

#結果為 zhuoren512

name = "zhuoren512".ljust(12) #向左對齊,不齊往右邊補空格

print(name)

#結果為zhuoren512

name = "zhuoren512".center(12) #居中對齊,不齊往兩邊補空格

print(name)

#結果為 zhuoren512

name = "zhuoren512"

print(name.zfill(15))

#結果為:00000zhuoren512

name = "zhuoren\t512"

str = name.expandtabs()

#\t前面的補全

#預設將乙個tab鍵變成8個空格,如果tab前面的字元長度不足8個,則補全8個,如果tab鍵前面的字元長度超過8個不足16個則補全16個,以此類推每次補全8個。

print(str)

#結果為:zhuoren 512

Python學習記錄W2 11 字串常用操作

author allenlee name my name is and i am old print name.capitalize 首字母大寫 print name.count a 統計a的個數 print name.center 50 一共列印50個字元,name在中間,其他用 補全 print...

python的學習記錄 1 字串

學習python也有一段時間了,對於知識點的掌握卻不是很理想。目前二刷,記錄知識點並上傳,來加深印象。python中的字串用單引號 或雙引號 括起來,同時使用反斜槓 轉義特殊字元。1 轉義字元 在需要在字元中使用特殊字元時,python用反斜槓 轉義字元。列舉幾個常見的轉義字元 轉義字元 描述 單引...

Python筆記(二)字串

記憶體位址 字串為不可變型別,原先指向字串的位址是不可改變的 line he line copy line print id line 2607584542648 print id line copy 2607584542648 line she he print id line 260758458...