Количество предыдущих элементов в текстовом файле - PullRequest
1 голос
/ 14 октября 2019

У меня есть 2 текстовых файла, которые содержат уникальные слова и разделяют каждую строку одним словом. Я хочу найти, сколько строк перед конкретным словом в файле. Предположим, что

bread
pizza
pasta
tomato

является textfile1.

pizza
tomato

является textfile2.

Я хочу получить

pizza 1 
tomato 3

в качестве вывода. Я попробовал код Python - Найти номер строки из текстового файла , но из-за огромных текстовых файлов он работает неправильно (textfile1 состоит из 45999 строк textfile2 состоит из 2698 строк). Как можно решить эту проблему? Спасибо ..

1 Ответ

0 голосов
/ 14 октября 2019

Вы можете прочитать слова из textfile2 в набор, а затем выполнить итерацию по строкам textfile1 с индексами, сгенерированными из enumerate. Выведите слово с текущим индексом, если оно находится в вышеупомянутом наборе:

with open('textfile2') as file:
    words = {line.rstrip() for line in file}
with open('textfile1') as file:
    for index, line in enumerate(file):
        word = line.rstrip()
        if word in words:
            print(word, index)
...