我們在使用python與字符串打交道時,可能遇到需要把字符串分隔成幾個部分,有時候也需要把列表內的幾個字符串,合并在一起。python的split和join方法可以很方便的幫我們實現這些功能。 本文中通過很多例子來演示split和join的用法。因為python中string是不可改變的,但我們可以在不改變原字符串的情況下,調用string的方法來對string進行操作。
split方法的語法
如果你需要把一個string分隔成多個部分,你可以使用split()方法。split的方法作用于一個string,返回一個子string的列表list。語法為:
- string>.split(sep,maxsplit)
在上面的語法中:
-
代表一個有效的python字符串 -
是你想要挑選的分隔符seperator。它應該指定為一個string。比如“,”是用逗號作為分隔符。 -
分隔符是可選的。省略的情況下默認使用whitespaces作為分隔符。 -
代表你想要分隔的最大次數。默認為-1,即有分隔符的地方都分隔。 - 如果你想把string中以第一個逗號分隔,你可以設置maxsplit=1。你將會得到兩部分的string,逗號之前的部分和逗號之后的所有部分。
- 如果你分隔一次,得到兩個string。分隔x次,得到x+1個string。
split舉例
以下面的字符串為例:
- my_string="老許學編程的網址是www.ilaoxu.cn"
現在調用my_string的split方法,sep和maxsplit都不寫。
- my_string.split()
- ['老許學編程的網址是www.ilaoxu.cn']
默認是以空格鍵為分隔符,所以得到的還是原來的字符串,但是在list里面。
如果在“網址”添加一個空格:
- "老許學編程的網址是www.ilaoxu.cn".split()
得到的結果是:
- ['老許學編程的網址','是www.ilaoxu.cn']
如果是以下字符串,以逗號分隔的水果:
- my_string=""橘子,李子,栗子,柿子,梨"",注意string中的逗號和指定的分隔符中的逗號的中英文必須一致。
我們現在把分隔符指定為“,”:
- my_string.split(sep=",")或者my_string.split(",")
得到的結果都一樣,每一個水果都成為列表的一個項,如下:
- ['橘子','李子','栗子','柿子','梨']
我們現在指定maxsplit這個參數為2:
- mystring.split(",",2)
得到的結果為:
- ['橘子','李子','栗子,柿子,梨']
我們來分析一下結果:
- 第一個逗號在橘子后面,第一次分隔以后,你得到了兩個string的列表:橘子和剩下的'李子', '栗子', '柿子', '梨'
- 第二個逗號在李子后面,第二次分隔以后,你得到了三個string的列表:橘子,李子和剩下的'栗子,柿子,梨'。
- 到這個時候,已經達到了maxsplit的限制,不會再進行分隔了。
- 這也就是為什么我們看到在第二個逗號之后的部分都是在一個string里面(一個單引號里面)。 希望你已經理解了split的方法和參數的作用。
join方法的語法
現在你已經了解了如何把一個string分隔成幾個子string的列表。現在是時候學習如何使用join把幾個子string合并成一個string了。 語法如下:
-
. join()
解釋如下:
- iterable指python中可迭代的對象list[]或tuple()
- sep是指你選擇的分隔符,把子string合并成一個string。
- 基本上,join方法使用分隔符把所有的子string合并成一個string。
join舉例
在之前的例子里,你把mystring使用逗號分隔成一個子string的列表,我們稱之為my_list。現在我們用join方法把my_list再合并成一個string。my_list是水果名稱的一個列表。
- >>>my_string="橘子,李子,栗子,柿子,梨"
- >>>my_list=my_string.split(",")
- >>>my_list
- ['橘子','李子','栗子','柿子','梨']
注意我們join的時候使用的分隔符要作為字符串傳進去,否則會出現語法錯誤。
- ,.join(my_list)
- >>>,.join(my_list)
-
File"
" ,line1 - ,.join(my_list)
- ^
- SyntaxError:invalidsyntax
使用逗號把一個list中的string合并為一個string,應該用“,”而不是,(注意逗號中英文一致)。
- result=",".join(my_list)
結果為:
- >>>result
- '橘子,李子,栗子,柿子,梨'
你可以選擇其他的字符作為分隔符,現在使用三個下劃線來合并成一個新的string
- >>>result="___".join(my_list)
- >>>result
- '橘子___李子___栗子___柿子___梨'
現在my_list列表['橘子', '李子', '栗子', '柿子', '梨']中的各個string,現在合并成了一個string,以___進行分隔。 現在你了解了如何使用join來合并字符串了。
總結
你學習了:
-
.split(sep, maxsplit) 以分隔符分隔某個字符串maxsplit次。 -
)用分隔符將list或tuple中的項合并成一個string。 希望你能從本文中得到自己所需要的,nice day!
原文鏈接:https://www.toutiao.com/a7021316535914480140/