Python中的split函数如何用于字符串分割?
在 Python 编程语言中,split() 函数是用于字符串分割的内置函数之一。Python 版本 2.x 和 Python 版本 3.x 支持 split() 函数,两个版本的函数用法略微有所不同。
1. Python 2.x 中的 split() 函数用法
在 Python 2.x 中,split() 函数的用法如下:
str.split([sep [, maxsplit]])
其中,参数中用中括号 [] 括起来的是可选参数,不写也可以。具体参数说明如下:
- str: 要分割的原始字符串,字符串类型。
- sep: 用于指定分割符,在原始字符串中根据该符号进行字符串分割,字符串类型。默认为所有空字符,包括空格、换行符、制表符等。
- maxsplit: 可选参数,用于指定分割的最大次数,整型。如果不指定,则默认为 -1,表示不限制分割次数。
示例代码如下:
str = 'This is a sample string'
print str.split() # 使用默认分隔符进行分割,默认分割符包括空格
print str.split(' ') # 指定空格作为分隔符进行分割
print str.split(' ', 1) # 指定空格作为分隔符,设置最大分割次数为1
print str.split('sample') # 指定'sample'字符串作为分隔符,即不分割
print str.split('non_exist') # 指定不存在的分隔符,返回原字符串
输出结果如下:
['This', 'is', 'a', 'sample', 'string'] ['This', 'is', 'a', 'sample', 'string'] ['This', 'is a sample string'] ['This is a ', ' string'] ['This is a sample string']
从输出结果可以看出,当不指定分隔符时,默认以所有空字符作为分隔符进行分割;而当指定 'sample' 作为分隔符时,返回的结果中不包含 'sample';当指定不存在的分隔符时,返回原始字符串。
2. Python 3.x 中的 split() 函数用法
在 Python 3.x 中,split() 函数的用法和 Python 2.x 中略微有所不同。具体参数说明如下:
str.split(sep=None, maxsplit=-1)
其中,sep 和 maxsplit 参数默认值分别为 None 和 -1,表示使用默认分隔符和不限制分隔次数。
示例代码如下:
str = 'This is a sample string'
print(str.split()) # 使用默认分隔符进行分割
print(str.split(' ')) # 指定空格作为分隔符进行分割
print(str.split(' ', 1)) # 指定空格作为分隔符,仅分割一次
print(str.split('sample')) # 指定'sample'字符串作为分隔符,即不分割
print(str.split('non_exist')) # 指定不存在的分隔符,返回原字符串
输出结果和 Python 2.x 中一样。
从以上示例可以看出,Python 的 split() 函数非常灵活,可以根据指定的分隔符在原始字符串中进行分割,并返回一个列表对象。另外,对于某些不需要分割的字符串,可以直接指定无法分割的字符串作为分隔符,这样就能避免出现多余的列表元素。
