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