@Ganki
Coding

Какой наиболее оптимальный алгоритм поиска в текстовом файле?

Есть 2 текстовых файла 1.txt и 2.txt (количество строк от 100.000 в каждом файле)
Нужно создать файл Result.txt, в котором все строки из файла 1.txt, которых нет в 2.txt
Написал небольшой скрипт, но думаю в нем не самый оптимальный алгоритм.
Хотелось бы увидеть ваши варианты решения такой задачи.

with open('1.txt', 'r') as file1, open('2.txt', 'r') as file2, \
     open('Result.txt', 'w') as file_out:
    file2_text = file2.read()
    file_out_text = ''
    for line1 in file1:
        if (line1 == '\n') or (line1.rstrip() in file2_text):
            continue
        file_out_text += line1
    file_out.write(file_out_text)
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
kshnkvn
@kshnkvn Куратор тега Python
t.me/kshnkvn
with open("1.txt", "r") as f1, open("2.txt", "r") as f2:
        same = set(f1).difference(f2)

same.discard("\n")

with open("3.txt", "w") as fo:
    for line in same:
        fo.write(line)


UPD. Извиняюсь, не обратил внимания, что нужны строки из файла 1 которых нет в файле 2, обновил.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы