Teilen einen Satz in Wörter auf in Python

Muhammad Maisam Abbas 30 Januar 2023
  1. Teilen einen Satz in Wörter mit der Funktion str.split() in Python
  2. Teilen einen Satz in Wörter mit List Comprehensions in Python
  3. Teilen Sie einen Satz in Wörter mit der nltk-Bibliothek in Python
Teilen einen Satz in Wörter auf in Python

In diesem Tutorial werden die Methoden zum Aufteilen eines Satzes in eine Liste von Wörtern in Python erläutert.

Teilen einen Satz in Wörter mit der Funktion str.split() in Python

Die str.split()-Funktion in Python verwendet ein Trennzeichen als Eingabeparameter und teilt den aufrufenden String basierend auf dem Trennzeichen in mehrere Zeichenketten auf. Wenn wir kein Trennzeichen angeben, teilt die Funktion str.split() den String anhand von Leerzeichen. Der folgende Codeausschnitt zeigt uns, wie man einen Satz mit der Funktion str.split() in eine Liste von Wörtern aufspaltet.

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

Ausgabe:

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

Wir haben eine String-Variable sentence deklariert, die einige Daten enthält. Anschließend teilen wir die Variable sentence mit der Funktion sentence.split() in eine Liste von Strings auf und speichern die Ergebnisse in der Liste words. Die Funktion str.split() ist der einfachste Weg, einen Satz in Python in eine Liste von Wörtern umzuwandeln.

Teilen einen Satz in Wörter mit List Comprehensions in Python

Wir können auch List Comprehensions verwenden, um einen Satz in eine Liste von Wörtern aufzuteilen. Dieser Ansatz ist jedoch nicht so einfach wie die Funktion str.split(). Der Vorteil der Verwendung von List Comprehensions besteht darin, dass wir auch einige Operationen an den erhaltenen Wörtern durchführen können. Die Operationen können vom Anhängen von etwas an jedes Wort bis zum Entfernen von etwas aus jedem Wort reichen. Der folgende Code-Schnipsel zeigt uns, wie man mit List Comprehension und der Funktion str.split() einen Satz in Wörter zerlegt.

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

Ausgabe:

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

Wir haben eine String-Variable sentence deklariert, die einige Daten enthält. Anschließend teilen wir die Variable sentence in eine Liste von Strings mit List Comprehension auf und speichern die Ergebnisse in der Liste words. Diese Methode ist nützlich, um jedes erhaltene Wort zu ändern, bevor das Wort in der Liste words gespeichert wird.

Teilen Sie einen Satz in Wörter mit der nltk-Bibliothek in Python

Für die Textverarbeitung in Python wird die nltk oder die Natural Language Toolkit-Bibliothek verwendet. Wir müssen es vor der Verwendung installieren, da es sich um eine externe Bibliothek handelt. Der Befehl zum Installieren des Natural Language Toolkit ist unten angegeben.

pip install nltk

Nach der Installation müssen wir das Paket punkt mit der Funktion nltk.download() herunterladen. Dieses Phänomen wird im folgenden Codeausschnitt veranschaulicht.

import nltk

nltk.download("punkt")

Ausgabe:

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

Die word_tokenize()-Funktion innerhalb der nltk-Bibliothek kann verwendet werden, um unser spezielles Problem zu lösen. Diese Funktion verwendet einen String als Eingabeparameter und teilt ihn in mehrere Teilstrings auf. Der folgende Codeausschnitt zeigt uns, wie man einen Satz mit der Funktion nltk.word_tokenize() in eine Liste von Wörtern aufspaltet.

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

Ausgabe:

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

Wir haben unseren sentence-String mit der Funktion nltk.word_tokenize(sentence) in eine Wortliste aufgeteilt und die Ergebnisse in der words-Liste gespeichert. Am Ende haben wir die Elemente in der Liste words angezeigt.

Die Methode str.split() ist der einfachste Weg, dieses spezielle Problem zu lösen, aber mit der Funktion split() können wir nicht viel machen, wenn wir erst einmal die Wortliste haben. Die anderen beiden Methoden sind nützlich, wenn wir zusätzliche Manipulationen an den erhaltenen Wörtern durchführen möchten.

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

Verwandter Artikel - Python String