python join 和 split方法简单的说是:join用来连接字符串,split恰好相反,拆分字符串的。
.join()
join将 容器对象 拆分并以指定的字符将列表内的元素(element)连接起来,返回字符串(注:容器对象内的元素须为字符类型)
1
2
3
4
|
>>> a = [ 'no' , 'pain' , 'no' , 'gain' ]
>>> '_ ' .join(a)
'no_pain_no_gain'
>>>
|
注:容器对象内的元素须为字符类型
1
2
3
4
5
6
7
|
>>> b = [ 'I' , 'am' , 'no' , 1 ]
>>> '_' .join(b)
Traceback (most recent call last):
File "<pyshell#32>" , line 1 , in <module>
'_' .join(b)
TypeError: sequence item 3 : expected string, int found
>>>
|
dict是以Key值作连接
1
2
3
4
|
>>> L = { 'p' : 'P' , 'y' : 'Y' , 't' : 'T' , 'h' : 'H' , 'o' : 'O' , 'n' : 'N' }
>>> '_' .join(L)
'h_o_n_p_t_y' #dict 的无序性,使元素随机连接。set 同理
>>>
|
.split()
与join相反,split以指定的字符将字符串分割为单个元素(字符类型)并加入list中,返回一个List
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> a = 'no_pian_no_gain'
>>> a.split( '_' )
[ 'no' , 'pian' , 'no' , 'gain' ]
>>>
split是可以设定切割多少个字符的
>>> a = 'no_pian_no_gain'
>>> a.split( '_' , 2 )
[ 'no' , 'pian' , 'no_gain' ]
>>> a.split( '_' , 1 )
[ 'no' , 'pian_no_gain' ]
>>> a.split( '_' , 0 )
[ 'no_pian_no_gain' ]
>>> a.split( '_' , - 1 )
[ 'no' , 'pian' , 'no' , 'gain' ]
>>>
|
可见split('_')与split('_',-1)返回的结果是一致的
下面通过一个示例给大家讲下python join 和 split使用方法
1.join用法示例
1
2
3
4
5
6
7
8
9
10
|
>>>li = [ 'my' , 'name' , 'is' , 'bob' ]
>>> ' ' .join(li)
'my name is bob'
>>> '_' .join(li)
'my_name_is_bob'
>>> s = [ 'my' , 'name' , 'is' , 'bob' ]
>>> ' ' .join(s)
'my name is bob'
>>> '..' .join(s)
'my..name..is..bob'
|
2.split用法示例
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> b = 'my..name..is..bob'
>>> b.split()
[ 'my..name..is..bob' ]
>>> b.split( ".." )
[ 'my' , 'name' , 'is' , 'bob' ]
>>> b.split( ".." , 0 )
[ 'my..name..is..bob' ]
>>> b.split( ".." , 1 )
[ 'my' , 'name..is..bob' ]
>>> b.split( ".." , 2 )
[ 'my' , 'name' , 'is..bob' ]
>>> b.split( ".." , - 1 )
[ 'my' , 'name' , 'is' , 'bob' ]
|
可以看出 b.split("..",-1)等价于b.split("..")