wordlist.txt, который содержит список уникальных слов:
Код: Выделить всё
(word)
a
ad
and
at
Код: Выделить всё
(word) (definition)
and congiunzione
at abbreviazione
at avverbio
Собрав, я прерываю цикл поиска, так как дальше перемещаться по словарю было бы бесполезно.
Я приступаю к определению следующая запись в wordlist.txt и т. д.
Это фрагмент моего кода:
Код: Выделить всё
for wordtosearch in open("wordlist.txt", "r"):
found = 0
isfound = False
for dictionaryentry in open("dictionary.txt", "r"):
dictionaryelements = dictionaryentry.split("\t") #split the word and the definition
if wordtosearch == dictionaryelements[0]:
# ... here I gather the definition and I concatenate it to the previous one
found += 1 #at least 1 entry is found
isfound = True
else:
isfound = False
#if we don't have a match in the current cicle but we've had at least un match before, it means we can stop search further
if found > 0 and isfound == False:
break
Я подумал о сохранении номер строки, в которой совпало предыдущее слово, чтобы поиск следующего слова начинался с этой строки словаря.txt, а не с начала.
Если для предыдущего слова не найдено совпадений, я буду использовать предыдущий к этому и так далее.
Было бы это хорошим решением? Или Python предлагает что-то лучшее, о чем я не знаю?
Кстати, я не ограничиваюсь Python, если вы знаете что-то лучше, но я ограничен Windows.
Подробнее здесь: https://stackoverflow.com/questions/793 ... on-is-slow
Мобильная версия