在python中時(shí)常需要從字符串類型str中提取元素到一個(gè)數(shù)組list中,例如str是一個(gè)逗號(hào)隔開的姓名名單,需要將每個(gè)名字提取到一個(gè)元素為str型的list中。
如姓名列表str = 'Alice, Bob, John',需要將其提取為name_list = ['Alice', 'Bob', 'John']。
而反過來有時(shí)需要將一個(gè)list中的字符元素按照指定的分隔符拼接成一個(gè)完整的字符串。好在python中str類型本身自帶了兩種方法(method)提供了相應(yīng)的功能。
str轉(zhuǎn)為list
使用split方法
基本使用
<list> = <str>.split(<separator>)
<str>: 需要進(jìn)行分隔提取的字符串
<separator>:從<str2>提取元素時(shí)依據(jù)的分隔符,一般也是一個(gè)str類型,如','
<list>: 返回值,list中每個(gè)元素是<str>中分隔后的一個(gè)片段
Eg:
str = 'abc,def,ghi'
a = str.split(',')
print(a)
得到結(jié)果:
['abc','def','ghi']
list轉(zhuǎn)換為str
使用join方法
基本使用
<str> = <separator>.join(<list>)
<separator>: 分隔符,為str類型,如','
<list>: 需要進(jìn)行合并的list對(duì)象,其中每個(gè)元素必須為str類型
<str>: 返回一個(gè)str對(duì)象,是將<list>中每個(gè)元素按順序用分隔符<separator>拼接而成
Eg:
a = ','.join(['abc','def','ghi'])
print(a)
得到結(jié)果:
'abc,def,ghi'
注意:使用join方法時(shí),括號(hào)內(nèi)的參數(shù)list必須只包含str類型的成員 這兩種方法均是str的方法,即.之前必須為str類型
與os.path.join()和os.path.split()的區(qū)別
在os模塊中其系統(tǒng)路徑分隔符對(duì)象os.path也有兩個(gè)同名的方法join()和split(),使用和str中基本類似,其主要區(qū)別是str中同名方法的所有的list類型參數(shù)在這里均變成變成了tuple類型。