在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类型