Как выполнить линейный поиск и сравнить два файла .txt, чтобы увидеть, чего не хватает между ними?

Я пытаюсь выполнить линейный поиск по 2 файлам .txt. Один — рассказ, другой — слова из рассказа в словаре. То, что я пытаюсь сделать, это поиск каждого файла, затем сравнение каждого слова друг с другом, если слово отсутствует в словаре, оно должно вернуться с ошибкой и распечатать его. Поиск немного сбивает меня с толку, поэтому любая помощь будет оценена по достоинству! Код в моем цикле while — единственный пример, с которым мне приходится работать, и я пытаюсь изменить его, чтобы он соответствовал моему сценарию. Если у вас есть другие способы сделать это, дайте мне знать, так как я изо всех сил пытаюсь понять концепции линейного поиска для сравнения между тем, что я искал.

import re
# This function takes in a line of text and returns
# a list of words in the line.

def split_line(line):
    return re.findall('[A-Za-z]+(?:\'[A-Za-z]+)?', line)
# --- Read in a file from disk and put it in an array.


dictionary_list = []
alice_list = []

for line in open("dictionary.txt"):
    line = line.strip()
    dictionary_list.append(split_line(line))

for line in open("AliceInWonderLand200.txt"):
    line = line.strip()
    dictionary_list.append(split_line(line))



"""-----Linear Search-----"""
i = 0

while i < len(dictionary_list) and dictionary_list[i] != alice_list:
    i += 1

if i == len(dictionary_list):
    print("The Name is not on the list." + alice_list)
else:
    alice_list.append(i)
    print("The name is at position", i)

person RocktheFries    schedule 15.12.2018    source источник
comment
Ваш код добавляет все в dictionary_list, а также данные истории.   -  person Michael Butscher    schedule 15.12.2018


Ответы (1)


Используйте установленную разницу.

"""
---------------------------
d.txt
---------------------------
alice
wonderland
alice-again
oh-dear-alice
---------------------------
alice.txt
---------------------------
aline
alice
oh-no-alice
---------------------------

"""

dictionary = list(open('d.txt','r'))
dictionary = set([i.strip() for i in dictionary])
#Once you have your list of words
#dictionary = set(get_dict_list())
input_file = list(open('alice.txt','r'))
input_file = set([i.strip() for i in input_file])
#input_file = set(get_story_list())
misspelled_words = input_file - dictionary
person Omkar Sabade    schedule 15.12.2018