[关闭]
@myles 2017-04-14T15:57:04.000000Z 字数 1606 阅读 981

split 与 join FAQ记录

Python_FAQ记录

一、split 和 join 方法归纳

  1. S.split(sep="str", maxsplit=-1) -> list of strings
  2. # 拆分字符串,返回一个列表 (列表输出)
  1. S.join(iterable) -> str
  2. # 连接字符,返回一个字符串(字符串连接)

1. split与join都只能以“字符串”作为处理对象。

split:拆分字符串,返回一个列表(操作对象为字符串)。即,指定字符串对象中“某个有规律性的字符串”作为为分隔符将操作对象进行分割成一个个小的对象。并分别存入列表中,然后返回一个列表。

join:连接字符,返回一个字符串。即将可迭代的对象中每个元素,用指定的“连接符”连接起来,重新组合成一个字符串(操作对象为可迭代的字符串对象);

2. S.join(iterable) -> str

iterable:为操作对象,且是个“可迭代”对象;
S:为连接符
函数功能:就是以S作为连接符,将iterable可迭代对象中每一个元素以S作为连接符,连接起来,然后重新合并成一个新的字符串。

3. S.split(sep="str", maxsplit=-1) -> list of strings  

S:为操作对象,其为“字符串”对象;
sep = "str":表示 str 为分隔符;
函数功能:将S这个字符串对象中各个元素符,以str作为分隔进行切片,然后返回一个列表;如果num有指定值,则仅分隔num个子字符串。

4. 对导入os模块进行os.path.splie()/os.path.join()

貌似是处理机制不一样,但是功能上一样。

二、'S'.join() 方法

.join()作用:将容器对象进行拆分。
功能属性说明:以指定的字符串'S'作为连接符,将列表内的元素(element)连接起来,重新组成并返回一个字符串。(注:容器对象内的元素须为字符类型)

  1. >>> lst
  2. ['I', 'LOVE', 'PYTHON', '!!!']
  3. >>> ' '.join(lst)
  4. 'I LOVE PYTHON !!!'
  5. >>>

注:容器对象内的元素须为字符类型.

  1. >>> lst
  2. ['I', 'LOVE', 'PYTHON', '!!!', 123]
  3. >>> ' '.join(lst)
  4. Traceback (most recent call last):
  5. File "<pyshell#113>", line 1, in <module>
  6. ' '.join(lst)
  7. TypeError: sequence item 4: expected str instance, int found
  8. >>>

注:列表 lst中存在一个对象元素123,其为int整数型,.join()无法完成对其进行连接操作。

  1. >>> L = {'p':'P','y':'Y','t':'T','h':'H','o':'O','n':'N'}
  2. >>> '_'.join(L)
  3. 'h_o_n_p_t_y'    #dict 的无序性,使元素随机连接。set 同理
  4. >>>

三、.split() 方法

.split()作用:分割字符串,生成列表;

功能属性说明:.split()以指定的字符串作为分割符,将字符串对象分割为一个个的单个元素(字符类型),然后加其逐个入到list中,返回一个List列表。

  1. >>> string
  2. 'I LOVE PYTHON !!!'
  3. >>> string.split(' ')
  4. ['I', 'LOVE', 'PYTHON', '!!!']
  5. >>>

设定切割多少个字符实例

  1. >>> string = "I LOVE PYTHON SO MUCH !!!"
  2. >>> string
  3. 'I LOVE PYTHON SO MUCH !!!'
  4. >>> string.split(' ',2) #split是可以设定切割多少个字符的
  5. ['I', 'LOVE', 'PYTHON SO MUCH !!!']
  6. >>>

四、一句话顺口溜:

顺口溜:join 字符串连接; split 列表输出。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注