原文: Python .split() – Splitting a String in Python

在本文中,你将学习如何在 Python 中拆分字符串。

首先,我将向你介绍 .split() 方法的语法。之后,你将看到如何使用带参数和不带参数的 .split() 方法,同时使用代码示例。

以下是我们将介绍的内容:

  • .split() 方法语法
  • .split() 方法如何在没有任何参数的情况下运行
  • .split() 方法带有 separator 参数如何运行
  • .split() 方法带有 maxsplit 参数如何运行

Python 中的 .split() 方法是什么?.split() 方法语法分解

你可以使用 .split() 方法将字符串拆分为列表。

.split() 方法的一般语法如下所示:

string.split(separator, maxsplit)

让我们分解一下:

  • string 是要拆分的字符串,这是你调用 .split() 方法的字符串。
  • .split() 方法接受两个参数。
  • 第一个可选参数是 separator,它指定使用哪种分隔符来分割字符串。如果未提供此参数,则默认值为空格,这意味着只要 .split() 遇到空格,字符串就会拆分。
  • 第二个可选参数是 maxsplit,它指定 .split() 方法应该执行的最大拆分数。如果未提供此参数,则默认值为 -1,这意味着拆分的数量没有限制,并且 .split() 应该在遇到 separator 的所有匹配项上拆分字符串。

.split() 方法返回一个新的子字符串列表,并且不会以任何方式修改原始字符串。

.split() 方法如何在没有任何参数的情况下运行?

以下是使用 .split() 方法将字符串拆分为列表的方法,没有任何参数:

coding_journey = "I am learning to code for free with freeCodecamp!"

# 将字符串拆分为列表并将结果保存到新变量中
coding_journey_split = coding_journey.split()

print(coding_journey)
print(coding_journey_split)

# 使用 type() 函数检查 coding_journey_split 的数据类型
print(type(coding_journey_split))

# 输出
# I am learning to code for free with freeCodecamp!
# ['I', 'am', 'learning', 'to', 'code', 'for', 'free', 'with', 'freeCodecamp!']
# <class 'list'>

输出显示组成字符串的每个单词现在都是一个列表项,并且保留了原始字符串。

当你不传递 .split() 方法接受的两个参数中的任何一个时,默认情况下,它会在每次遇到空格时拆分字符串,直到字符串结束。

如果你不向 .split() 方法传递任何参数,并且遇到连续的空格而不是一个空格,会发生什么情况?

coding_journey = "I love   coding"

coding_journey_split = coding_journey.split()

print(coding_journey_split)

# 输出
# ['I', 'love', 'coding']

在上面的示例中,我在单词 love 和单词 coding 之间添加了连续的空格。在这种情况下,.split() 方法将任何连续的空格视为一个单独的空格。

.split() 方法带有 separator 参数如何运行?

正如你之前看到的,当没有 separator 参数时,它的默认值为空格。也就是说,你可以设置不同的分隔符。

separator 将在遇到你指定的字符时中断和分割字符串,并将返回子字符串列表。

例如,你可以使字符串在 .split() 方法遇到点 . 时拆分:

fave_website = "www.freecodecamp.org"

fave_website_split = fave_website.split(".")

print(fave_website_split)

# 输出
# ['www', 'freecodecamp', 'org']

在上面的示例中,每当 .split() 遇到 .,字符串将拆分。

请记住,我没有指定一个点后跟一个空格。这是行不通的,因为字符串不包含点后跟空格:

fave_website = "www.freecodecamp.org"

fave_website_split = fave_website.split(". ")

print(fave_website_split)

# 输出
# ['www.freecodecamp.org']

现在,让我们重温上一节中的最后一个示例。

当没有 separator 参数时,连续的空格被视为单个空格。

但是,当你指定单个空格作为 separator 时,字符串会在每次遇到单个空格字符时拆分:

coding_journey = "I love   coding"

coding_journey_split = coding_journey.split(" ")

print(coding_journey_split)

# 输出
# ['I', 'love', '', '', 'coding']

在上面的示例中,每次 .split() 遇到空格字符时,它都会拆分单词并将空格添加为列表项。

.split() 方法带有 maxsplit 参数如何运行?

当没有 maxsplit 参数时,没有指定何时停止拆分的限制。

在上一节的第一个示例中,.split() 每次遇到 separator 时都会拆分字符串,直到到达字符串的末尾。

但是,你可以指定希望何时结束拆分。

例如,你可以指定拆分在遇到一个 . 后结束:

fave_website = "www.freecodecamp.org"

fave_website_split = fave_website.split(".", 1)

print(fave_website_split)

# 输出
# ['www', 'freecodecamp.org']

在上面的示例中,我将 maxsplit 设置为 1,并创建了一个包含两个列表项的列表。

我指定列表在遇到一个点时应该拆分。一旦遇到一个点,操作将结束,字符串的其余部分将单独成为一个列表项。

总结

你现在知道了如何在 Python 中使用 .split() 方法拆分字符串。

我希望本教程对你有所帮助。

要了解有关 Python 编程语言的更多信息,请查看 freeCodeCamp 的 Python 认证。你将从基础开始,通过对初学者友好的互动方式学习。最后,你还将构建五个项目以巩固你所学的知识。

祝你编程愉快!