欢迎访问宙启技术站
智能推送

split() 函数:Python中 split() 函数用于对字符串进行分割操作,返回值为一个列表对象。

发布时间:2023-05-19 13:01:58

split() 函数是 Python 的字符串方法之一,主要用于对一个字符串进行分割操作,并返回分割后所得到的结果。在 Python 中,字符串是一个常用的数据类型,因此 split() 函数也十分常用。

该函数的语法形式为:str.split([sep[, maxsplit]])。其中,str 表示要进行分割的字符串;sep 表示用于分割的字符或者子字符串,如果没有指定,则默认使用空格作为分隔符;maxsplit 表示可选参数,表示最多分割的次数,如果未指定或是 -1,则表示对字符串进行全部分割。

接下来,我将详细介绍 split() 函数的用法以及实例。在实例过程中,我会特别提醒一些需要注意的细节问题。

一、split() 函数的基本用法

1、通过空格分割字符串

在默认情况下,split() 函数会将字符串按照空格进行分割,因此,只需要在字符串后面加上 split() 方法即可实现默认的分割操作。例如:

str1 = "Hello World"
lst1 = str1.split()
print(lst1)

执行上述代码的结果为:['Hello', 'World']

上面的代码就是通过默认的方式,将字符串 "Hello World" 按照空格进行分割,并得到一个包含两个元素的列表对象。

这里需要注意的是:如果字符串中存在多个连续的空格,则 split() 函数会将它们视为一个空格进行分割。例如:

str2 = "The  first   line"
lst2 = str2.split()
print(lst2)

执行结果为:['The', 'first', 'line']

上述代码中,原字符串中存在多个连续空格,但是 split() 函数依然只将其视为一个空格进行分割。

2、通过指定分隔符进行分割

在 split() 函数中,可以通过指定分隔符来进行分割,例如:

str3 = "one,two,three,four,five"
lst3 = str3.split(",")
print(lst3)

执行结果为:['one', 'two', 'three', 'four', 'five']

上面的代码就是通过设置分隔符为逗号(","),将字符串 "one,two,three,four,five" 分割成了一个包含五个元素的列表对象。

3、指定最大分割数量

在 split() 函数中,还可以指定最大分割次数。如果指定了最大分割次数,那么字符串最多会被分割成指定的分割次数加一的部分。例如:

str4 = "a,b,c,d,e,f,g,h"
lst4 = str4.split(",", 3)
print(lst4)

执行结果为:['a', 'b', 'c', 'd,e,f,g,h']

上述代码中,设置了最大分割次数为 3,因此字符串 "a,b,c,d,e,f,g,h" 只会被分割成 4 部分,得到了一个包含四个元素的列表对象。

二、split() 函数的注意事项

1、分隔符不可为空

在使用 split() 函数时,分隔符不能为空。如果分隔符为空,则会抛出 TypeError 的异常。例如:

str5 = "abc"
lst5 = str5.split("")
print(lst5)

执行结果为:TypeError: split() takes at least 1 argument (0 given)

如需使用空字符串对字符串进行分割,需要使用 re 模块进行操作。

2、原字符串中存在分隔符的情况

当原字符串中存在分隔符时,如果不加处理可能会导致分割操作不准确。例如:

str6 = "A|B||C|"
lst6 = str6.split("|")
print(lst6)

执行结果为:['A', 'B', '', 'C', '']

可以看到,因为原字符串中存在连续的两个分隔符 "||",因此分割后就会得到一个空字符串。如果不希望在分割结果中出现空字符串,可以通过下面的方式来解决:

str6 = "A|B||C|"
lst6 = [i for i in str6.split("|") if i]
print(lst6)

通过上述代码,可以将包含空字符串的结果从列表中去除。

3、参数 maxsplit 的使用

在使用参数 maxsplit 时,需要注意的是,它只会对分隔符的后面部分进行分割操作,而不会影响到分隔符前面的内容。例如:

str7 = "A|B|C|D"
lst7 = str7.split("|", 2)
print(lst7)

执行结果为:['A', 'B', 'C|D']

在上面的代码中,参数 maxsplit 的值被设置为 2,因此只对分隔符后面的两个部分进行了分割操作。

4、连续的空格

在使用默认的分隔符(空格)时,如果原字符串中存在连续的空格,那么 split() 函数会将它们视为一个空格进行分割。例如:

str8 = "Hello    World"
lst8 = str8.split()
print(lst8)

执行结果为:['Hello', 'World']

上述代码中,原字符串中存在多个连续的空格,但是 split() 函数依然只将它们视为一个空格进行了分割操作。

三、总结

split() 函数是 Python 中常用的字符串方法之一,用于对一个字符串进行分割操作。在使用该函数时,需要注意分隔符的选择,避免出现分割结果不准确的情况。同时,在参数 maxsplit 的使用时,需注意其中的细节。