python 字符串轉列表,列表轉字符串,字符串替換


突然想把python基礎再鞏固鞏固,所以寫博客來記錄一下,哪里不對,歡迎指正,下為正文。

 

1. 關於字符串: 字符串是不可變序列,拆分字符串是在拷貝的字符串上進行的,並不會改變原有序列

拆分字符串

  split方法:此方法可以接收兩個參數,第一個參數是分隔符,默認是所有的空字符,包括 空格,換行 制表符等,拆分過程中會消耗分隔符,所以,拆分結果不包含分隔符。第二個參數 是一個數字,默認缺省 缺省時全分割,也可以用 maxsplit 來指定分割次數。

例如:

定義字符串:

s = 'Hello world'
l = """Hi there , my name is blankdog
do you like me """
#不傳參數時,默認分隔符為所有空字符
split_nopam = s.split()
print(split_nopam)
#一個空格
split_pam = s.split(' ')
print(split_pam)
#兩個空格
split_pam1 = s.split('  ')
print(split_pam1)
#使用world為分隔符,會看到,split會消耗掉分隔符,而不顯示
split_pam2 = s.split('world')
print(split_pam2)
#空字符包含,空格,,多個空格,換行符等
l_split = l.split()
print(l_split)

split方法的第二個參數,指定分割次數,直接在第一個參數后面加一個數字(按位置傳參),或者使用 maxsplit=num 來指定

#根據空格分割三段(按位置傳參)
l_split_1 = l.split(' ',3)
print(l_split_1)
#根據空格分割三段(按位置傳參)
l_split_1 = l.split(' ',3)
print(l_split_1)
#指定參數
l_split_2 = l.split(maxsplit=3)
print(l_split_2)
#錯誤用法,不按位置傳參,直接傳遞分割幾次數字參數
l.split(3)

split()方法是從左往右遍歷,與之相對的是,rsplit()方法,從右往左便利,比較少用,會有奇效

l_split_3 = l.rsplit(maxsplit=2)
print(l_split_3)

拆分字符串還有一種方法, splitlines() 這個方法按照行來拆分字符串(默認分隔符 按照行('\r', '\r\n', \n')分隔),接受一個參數,True,或者 False,分別決定換行符是否被保留,默認為False,即不保留換行符

#保留換行符
s1 = """ab c 
d e f 
gh
"""
splitlines_True = s1.splitlines(True)
print(splitlines_True)
#不保留換行符
s2 = """ab c 
d e f 
gh
"""
splitlines_True = s2.splitlines(False)
print(splitlines_True)

列表轉字符串

     join() 方法可以將列表鏈接為字符串

s_list = ['Hi','my','name','is','blank','dog']
#鏈接為以空格為分隔符 的字符串
print( ' '.join(s_list) )
#鏈接為以下划線為分隔符的字符串
print( '_'.join(s_list) )

2. 替換字符串 替換字符串的場景如下:大小寫替換,特定字符轉換,自定義片段替換.... 

#首個字母替換為大寫
rep_s = 'hello world'
rep_res = rep_s.capitalize()
print(rep_res)
#所有單詞首字母變為大寫
rep_res1 = rep_s.title()
print(rep_res1)
#所有小寫字母轉換為大寫
rep_res2 = rep_s.upper()
print(rep_res2)
#所有大寫寫字母轉換為小寫
rep_s1 = 'HELLO WORLD'
rep_res3 = rep_s1.lower()
print(rep_res3)
#所有大寫替換為小寫,小寫替換為大寫
rep_s2 = 'Hello World'
rep_res4 = rep_s2.swapcase()
print(rep_res4)
#所有tab建轉換為空格,tab建默認空格數是8
rep_s3 = "Hello    World"
rep_res5 = rep_s3.expandtabs(tabsize=4)
print(rep_s3)
#替換字符串
rep_s4 = 'Hi World'
rep_res6 = rep_s4.replace('Hi','Hello')
print(rep_res6)
#替換字符串,可以指定替換次數
rep_s5 = 'Hi World Hi World Hi World'
rep_res7 = rep_s5.replace('Hi','Hello',2)
print(rep_res7)
#字符串開頭空格,或者指定字符替換為空
rep_s6 = ' hello world'
rep_res8 = rep_s6.lstrip('h')
print(rep_res8)
#指定字符為空
rep_s6 = 'hello world'
rep_res8 = rep_s6.lstrip('h')
print(rep_res8)
#指定字符為空
rep_s6 = 'hello world'
rep_res8 = rep_s6.lstrip('h')
print(rep_res8)
#字符串末尾空格,或者指定字符替換為空
rep_s7 = 'hello world '
rep_res9 = rep_s7.lstrip()
print(rep_res9)
#字符串首位空格替換,或者指定字符替換
rep_s8 = ' hello world '
rep_res10 = rep_s8.strip()
print(rep_res10)
#刪除首末位置的指定字符串
rep_s9 = '************hello world**********'
rep_res11 = rep_s9.strip('*')
print(rep_res11)

以上,為所學習關於字符串處理的基礎,其他幾種方式后續再來補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM