Python обнаруживает отсутствующую строку в текстовом файле

Допустим, текстовый файл состоит из этих строк:

A
  1
  2
  3
B 
  1
  2
  3
C
  1
  3

Очевидно, что 2 отсутствует в C в текстовом файле. В чем идея обнаружить недостающие 2 и вывести их? Мне нужно прочитать текстовый файл построчно.

Спасибо!

2 ответа

Вероятно, вы хотите что-то вроде этого:

line_sets = []
file_names = ['a', 'b', 'c']

# read content of files, if you need to remember file names, use
# dict instead of list
for file_name in file_names:
    with open(file_name, 'rb') as f:
        line_sets.append(set(f.readlines()))

# find missing lines
missing_lines = set()
for first_set, second_set in itertools.combinations(line_sets, 2):
    missing_lines.add(first_set - second_set)
print 'Missing lines: %s' % missing_lines

Хорошо, я думаю, что вопрос не понятен большинству из вас. В любом случае вот мое решение:

Я добавляю значения из каждого раздела в список внутри цикла for. Например, в разделе A список будет содержать 1,2 и 3. Длина списка в разделе C будет только 2. Таким образом, мы знаем, что значение отсутствует в разделе C. Отсюда мы можем распечатать раздел C. Извините за недоразумения. Этот вопрос официально закрыт. Спасибо за просмотр в любом случае!

Другие вопросы по тегам