В этом уроке мы обсудим, как разделить предложение на список слов в Python. Рассмотрим различные способы разделения предложения на список слов с примерами и выводом.

Содержание

Использование метода 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.

Добавить комментарий