在 Python 中将句子拆分为单词

本教程将讨论在 Python 中将句子拆分为单词列表的方法。

使用 Python 中的 str.split() 函数将句子拆分为单词

Python 中的 str.split() 函数以一个分隔符作为输入参数,根据分隔符将调用字符串拆分成多个字符串。如果我们不指定任何分隔符,str.split() 函数会根据空格分割字符串。以下代码片段向我们展示了如何使用 str.split() 函数将句子拆分为单词列表。

sentence = "This is a sentence"
words = sentence.split()
print(words)

输出:

['This', 'is', 'a', 'sentence']

我们声明了一个包含一些数据的字符串变量 sentence。然后,我们使用 sentence.split() 函数将 sentence 变量拆分为字符串列表,并将结果存储到 words 列表中。str.split() 函数是在 Python 中将句子转换为单词列表的最简单方法。

在 Python 中使用列表推导将句子拆分为单词

我们还可以使用列表推导将句子拆分为单词列表。然而,这种方法并不像 str.split() 函数那么简单。使用列表推导式的好处是我们还可以对得到的词进行一些操作。操作的范围可以从向每个单词附加某些内容或从每个单词中删除某些内容。以下代码片段向我们展示了如何使用列表推导式和 str.split() 函数将句子拆分为单词。

sentence = "This is a sentence"
words = [word for word in sentence.split()]
print(words)

输出:

['This', 'is', 'a', 'sentence']

我们声明了一个包含一些数据的字符串变量 sentence。然后,我们将 sentence 变量拆分为具有列表推导的字符串列表,并将结果存储到 words 列表中。这种方法对于在将单词存储到 words 列表之前修改每个获得的单词很有用。

使用 Python 中的 nltk 库将句子拆分为单词

nltk 或自然语言工具包库用于 Python 中的文本处理。我们必须在使用它之前安装它,因为它是一个外部库。下面给出了安装自然语言工具包的命令。

pip install nltk

安装后,我们必须使用 nltk.download() 函数下载 punkt 包。下面的代码片段说明了这种现象。

import nltk
nltk.download('punkt')

输出:

[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data]   Unzipping tokenizers/punkt.zip.

nltk 库中的 word_tokenize() 函数 可用于解决我们的特定问题。该函数将一个字符串作为输入参数并将其拆分为多个子字符串。以下代码片段向我们展示了如何使用 nltk.word_tokenize() 函数将句子拆分为单词列表。

sentence = "This is a sentence"
words = nltk.word_tokenize(sentence)
print(words)

输出:

['This', 'is', 'a', 'sentence']

我们使用 nltk.word_tokenize(sentence) 函数将 sentence 字符串拆分为单词列表,并将结果存储到 words 列表中。最后,我们显示了 words 列表中的元素。

str.split() 方法是解决这个特定问题的最简单的方法,但是一旦我们有了单词列表,我们就无法使用 split() 函数做很多事情。当我们想对获得的词进行一些额外的操作时,另外两种方法很有用。