python中join和split函数

一个是分割,一个是连接。

惯例,先看内部帮助文档

Help on method_descriptor:

join(...)
    S.join(iterable) -> string
    
    Return a string which is the concatenation of the strings in the
    iterable.  The separator between elements is S.
(END)

将可迭代对象(包含的应该是str类型的,不然会报错)连接起来, 返回值是str,用法如下:

In [2]: s = ['hello', 'world']

In [3]: '_'.join(s)                                                                                                                                                     
Out[3]: 'hello_world'

In [4]: ''.join(s)
Out[4]: 'helloworld'

In [5]: '&&'.join(s)
Out[5]: 'hello&&world'

In [6]: '_'.join((1, 2, 3))                                                                                                                                             
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-48e56abfc814> in <module>()
----> 1 '_'.join((1, 2, 3))

TypeError: sequence item 0: expected string, int found

 

再看split函数:

Help on method_descriptor:

split(...)
    S.split([sep [,maxsplit]]) -> list of strings
    
    Return a list of the words in the string S, using sep as the
    delimiter string.  If maxsplit is given, at most maxsplit
    splits are done. If sep is not specified or is None, any
    whitespace string is a separator and empty strings are removed
    from the result.
(END)

将字符串分割,空格或者空字符都会被移除,返回值是str的列表,第二个参数是分割次数,用法如下:

In [9]: s = 'life is short, I use Python'                                                                                                                               

In [10]: s.spl
s.split       s.splitlines  

In [10]: s.split()
Out[10]: ['life', 'is', 'short,', 'I', 'use', 'Python']

In [11]: s.split(',')
Out[11]: ['life is short', ' I use Python']

In [12]: s.split(',' or '.')
Out[12]: ['life is short', ' I use Python']

In [13]: s.split(',', 3)                                                                                                                                                
Out[13]: ['life is short', ' I use Python']

In [14]: s.split(',', 5)                                                                                                                                                
Out[14]: ['life is short', ' I use Python']

In [15]: s = 'hello, world. Life is short, I use Python'                                                                                                                

In [16]: s.split(',', 5)
Out[16]: ['hello', ' world. Life is short', ' I use Python']

In [17]: s.split(',', 2)
Out[17]: ['hello', ' world. Life is short', ' I use Python']

In [18]: s.split(',', 1)
Out[18]: ['hello', ' world. Life is short, I use Python']

In [19]: s.split(',' or '.', 2)
Out[19]: ['hello', ' world. Life is short', ' I use Python']

  

  

 

  

posted @ 2016-05-18 22:13  wswang  阅读(1634)  评论(0编辑  收藏  举报