Используйте set . Просто добавьте каждое слово, которое вы найдете в наборе; игнорирует дубликаты.
Предполагая, что у вас есть итератор, который возвращает каждое слово в файле (это для обычного текста; HTML будет более сложным):
def words(filename):
with open(filename) as wordfile:
for line in wordfile:
for word in line.split():
yield word
Тогда получить их в set
просто:
wordlist = set(words("words.txt"))
Если у вас есть несколько файлов, просто сделайте так:
wordlist = set()
wordfiles = ["words1.txt", "words2.txt", "words3.txt"]
for wordfile in wordfiles:
wordlist |= set(words(wordfile))
Вы также можете использовать набор для ваших стоп-слов. Затем вы можете просто вычесть их из списка слов после факта, что, вероятно, будет быстрее, чем проверка, чтобы увидеть, является ли каждое слово стоп-словом перед добавлением.
stopwords = set(["a", "an", "the"])
wordlist -= stopwords