В этом уроке мы обсудим, как разделить предложение на список слов в Python. Рассмотрим различные способы разделения предложения на список слов с примерами и выводом.
- Использование метода Split()
- С помощью функции Split()
- Использование регулярных выражений (перемодуль)
- Использование библиотеки nltk
- Заключение
Использование метода Split()
Самый простой и распространенный способ разбить предложение на список слов в Python — использовать метод Split(), доступный для строк в Python.
Метод Split() разбивает строку на основе указанного разделителя(по умолчанию это пробел).
Пример:
sentence = "Python is one of the popular programming languages in the United States of America." # Splitting the sentence into words words = sentence.split() print(words)
Выход:
['Python', 'is', 'one', 'of', 'the', 'popular', 'programming', 'languages', 'in', 'the', 'United', 'States', 'of', 'America.']
С помощью функции Split()
Понимание списков обеспечивает более краткий способ создания списков в Python.
Вы можете использовать понимание списка вместе с методом Split(), чтобы разделить предложение на список слов.
Пример:
sentence = "Python is one of the popular programming languages in the United States of America." # Splitting the sentence into words using list comprehension words = [word for word in sentence.split()] print(words)
Выход:
['Python', 'is', 'one', 'of', 'the', 'popular', 'programming', 'languages', 'in', 'the', 'United', 'States', 'of', 'America.']
Использование регулярных выражений (перемодуль)
Модуль re в Python предоставляет функциональные возможности для работы с регулярными выражениями.
Функцию Split() из модуля re можно использовать для разделения предложения на список слов на основе заданного шаблона.
Пример:
import re sentence = "Python is one of the popular programming languages in the United States of America." # Splitting the sentence into words using regular expressions words = re.split(r'\W+', sentence) print(words)
Выход:
['Python', 'is', 'one', 'of', 'the', 'popular', 'programming', 'languages', 'in', 'the', 'United', 'States', 'of', 'America', '']
Обратите внимание, что выходные данные содержат пустую строку в конце, которую можно удалить с помощью функции filter().
Пример:
import re sentence = "Python is one of the popular programming languages in the United States of America." # Splitting the sentence into words using regular expressions words = re.split(r'\W+', sentence) # Filtering out the empty strings words = list(filter(None, words)) print(words)
Выход:
['Python', 'is', 'one', 'of', 'the', 'popular', 'programming', 'languages', 'in', 'the', 'United', 'States', 'of', 'America']
Использование библиотеки nltk
Natural Language Toolkit(nltk) — популярная библиотека Python для работы с данными человеческого языка. Он предоставляет широкий спектр функций для обработки текста и обработки естественного языка.
Одним из инструментов, предоставляемых nltk, является функция word_tokenize(), которую можно использовать для разделения предложения на список слов в Python.
Во-первых, вам нужно будет установить библиотеку nltk, если вы еще этого не сделали:
pip install nltk
Затем вам нужно будет скачать модели токенизаторов punkt:
import nltk nltk.download('punkt')
Теперь вы можете использовать функцию word_tokenize(), чтобы разделить предложение на список слов.
Пример:
import nltk sentence = "Python is one of the popular programming languages in the United States of America." # Splitting the sentence into words using nltk.word_tokenize() words = nltk.word_tokenize(sentence) print(words)
Выход:
['Python', 'is', 'one', 'of', 'the', 'popular', 'programming', 'languages', 'in', 'the', 'United', 'States', 'of', 'America', '.']
Обратите внимание, что выходные данные включают знаки препинания в виде отдельных токенов. Если вы хотите их исключить, вы можете использовать понимание списка вместе с методом isalnum() для фильтрации небуквенно-цифровых токенов.
Пример:
import nltk sentence = "Python is one of the popular programming languages in the United States of America." # Splitting the sentence into words using nltk.word_tokenize() words = nltk.word_tokenize(sentence) # Filtering out non-alphanumeric tokens words = [word for word in words if word.isalnum()] print(words)
Выход:
['Python', 'is', 'one', 'of', 'the', 'popular', 'programming', 'languages', 'in', 'the', 'United', 'States', 'of', 'America']
Заключение
В этом уроке мы рассмотрели три различных способа разбить предложение на список слов в Python: использование метода Split(), понимания списка с помощью Split() и модуля re.