python split/join

string.join(iterable)
字符串的join方法,括号中参数必须是可迭代对象,包括列表,元组,字符串,字典等,可迭代对象中的每一个值必须是字符串类型,括号中只能有一个参数。
功能:把string插入到interable的每个元素之间,处理的结果是字符串。

>>>'_'.join('abcd')  #字符串
>>>'a_b_c_d'

>>>'_'.join(['a','b','c','d'])   #list
>>>'a_b_c_d'

>>>'_'.join(('a','b','c,'d'))    #tuple
>>>'a_b_c_d'

>>>'_'.join({'a':,'b':2,'c':3,'d':4})   #字典只对key进行处理,但是输出顺序不定
>>>'a_b_c_d'

>>>'_'.join([1,2,3])  #每个元素必须是字符串
>>>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found

>>>'_'.join([str(x) for x in [1,2,3]])
>>>'1_2_3'

>>>'_'.join('abcd','efgh')  # 只能有一个参数
>>>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: join() takes exactly one argument (2 given)

>>>str1 = 'abc'
>>>str2 = 'efg'
>>>str1.join(str2)
>>>'eabcfabcg'

str.split(str="", num=string.count(str))
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数,默认是全部分割开。
分割后的每个字符串按顺序存在一个list中。

str1 = 'ab cd\ne\tf'
str1.split()   #默认分割方式
>>>['ab', 'cd', 'e', 'f']
str1.split(' ')  #按空格进行分割
>>>['ab', 'cd\ne\tf']     # 一次只能使用一个字符进行分割。

python中字符串自带的split方法一次只能使用一个字符对字符串进行分割,但是python的正则模块则可以实现多个字符分割

import re
re.split('[_#|]','this_is#a|test')

返回的是一个列表(list),输出结果如下:

['this', 'is', 'a', 'test']

猜你喜欢

转载自blog.csdn.net/xiaohuihui1994/article/details/83994831