Преобразовать список строковых предложений в слова - PullRequest
4 голосов
/ 12 декабря 2011

Я пытаюсь по существу взять список строк, содержащих предложения, такие как:

sentence = ['Here is an example of what I am working with', 'But I need to change the format', 'to something more useable']

и преобразовать его в следующее:

word_list = ['Here', 'is', 'an', 'example', 'of', 'what', 'I', 'am',
'working', 'with', 'But', 'I', 'need', 'to', 'change', 'the format',
'to', 'something', 'more', 'useable']

Я пытался использовать это:

for item in sentence:
    for word in item:
        word_list.append(word)

Я подумал, что нужно взять каждую строку и добавить каждый элемент этой строки в word_list, однако результат будет выглядеть примерно так:

word_list = ['H', 'e', 'r', 'e', ' ', 'i', 's' .....etc]

Я знаю, что совершаю глупую ошибку, но не могу понять почему, кто-нибудь может помочь?

Ответы [ 5 ]

13 голосов
/ 12 декабря 2011

Вам нужно str.split(), чтобы разбить каждую строку на слова:

word_list = [word for line in sentence for word in line.split()]
8 голосов
/ 12 декабря 2011

Просто .split и .join:

word_list = ' '.join(sentence).split(' ')
2 голосов
/ 12 декабря 2011

Вы не сказали, как отличить слово. По умолчанию итерация строки просто повторяет символы.

Вы можете использовать .split(' '), чтобы разбить строку на пробелы. Так что это будет работать:

for item in sentence:
    for word in item.split(' '):
        word_list.append(word)
1 голос
/ 12 декабря 2011
for item in sentence:
    for word in item.split():
        word_list.append(word)
0 голосов
/ 12 декабря 2017

Разделить предложение на слова:

print(sentence.rsplit())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...