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. Извините за недоразумения. Этот вопрос официально закрыт. Спасибо за просмотр в любом случае!