Составьте список слов из любого документа в Python - PullRequest
0 голосов
/ 19 марта 2019

Я хочу вывести простой список слов из любого текстового документа. Я хочу каждое слово в списке, но без дубликатов. Это то, что у меня есть, но оно ничего не делает. Я довольно новичок в питоне. Спасибо!

def MakeWordList():
    with open('text.txt','r') as f:
        data = f.read()
    return set([word for wordd])

Ответы [ 2 ]

2 голосов
/ 19 марта 2019
Цикл

for word in data в основном повторяется по data, что является строкой, поэтому ваша переменная цикла word получает один символ в каждой итерации.Вы хотели бы использовать что-то вроде data.split(), чтобы перебрать список слов.

0 голосов
/ 19 марта 2019

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

def MakeWordList():
    with open('possible.rtf','r') as f:
        data = f.read()
    return set([word for word in data.split(' ') if len(word) >= 5 and word.islower() and not 'xx' in word])
...