получить отличное слово из текстового файла, используя python - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть вопрос относительно получения отдельных слов из текстового файла, содержащего около 14000 предложений. Теперь я пытаюсь извлечь каждое отдельное слово из этого текстового файла, поэтому у меня больше нет двойников, поэтому список будет значительно короче для последующих процессов, например, хэширования (в противном случае у меня было бы то же хэш-значение раз).

Я рассмотрел несколько вариантов, используя python, но единственное, что я нашел, - это отдельный счетчик слов в python.

Есть ли способ сделать это?

Ответы [ 3 ]

0 голосов
/ 07 ноября 2018

Я думаю, ваш вопрос уже намекает на хорошее решение:

"текстовый файл с около 14000 предложений"

with open('file.txt') as f:
    data = f.readlines() # assuming each line is a sentence or the like

«получить каждое отдельное слово» и «счетчик отличных слов» и «хэширование (в противном случае я бы имел один и тот же хэш несколько раз)»

- в зависимости от того, как его использовать, set, как было сказано ранее, сделает это только для вас. Вы упомянули хеширование и задаете использование хешей для локализации объектов в сегменты.

unique_words = set()
for line in data:
    clean_line = line.rstrip()
    words = clean_line.split() # get all the words from one line
    unique_words.update(words) # throws these words into the set

Набор позаботится о дупсах для тебя

0 голосов
/ 07 ноября 2018

Вы можете использовать установленную функциональность в Python. Набор не позволяет дублировать элемент для добавления. Проверьте код ниже.

word_set = set()
for line in open("test.txt",'r'):
    for word in line.split():
        word_set.add(word)
print(word_set)

Файл test.txt содержит:

Hello World and again Hello World

Выход:

{'Hello', 'again', 'World', 'and'}
0 голосов
/ 07 ноября 2018

Попробуйте просмотреть документацию и другие вопросы о переполнении стека, прежде чем задавать свои вопросы. Скорее всего, если это что-то общее (то есть, не добавляя дубликаты), это уже спрашивалось ранее.

#Psudocode
my_set = {'words go here'}
for each line in file:
    for each word in line:
        my_set.add(word)          #Word will only be added if it is not already present, a property of the set class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...