在 Python 中將句子拆分為單詞

Muhammad Maisam Abbas 2023年1月30日
  1. 使用 Python 中的 str.split() 函式將句子拆分為單詞
  2. 在 Python 中使用列表推導將句子拆分為單詞
  3. 使用 Python 中的 nltk 庫將句子拆分為單詞
在 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() 函式做很多事情。當我們想對獲得的詞進行一些額外的操作時,另外兩種方法很有用。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Python String