让我们说一个txt文件包含以下几行:
A
1
2
3
B
1
2
3
C
1
3
显然,txt文件中的C缺少2。检测缺失的2并输出它的想法是什么?我需要逐行读取txt文件。
谢谢!
答案 0 :(得分:0)
可能你想要这样的东西:
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
答案 1 :(得分:-1)
好的我觉得大多数人都不清楚这个问题。无论如何,这是我的解决方案:
我将每个部分的值附加到for循环内的列表中。例如,在A部分中,列表将包含1,2和3.C部分中列表的len将仅为2.因此,我们知道C部分中缺少一个值。从这里,我们可以打印出来C.对于误解,我们深表歉意。这个问题正式结束。无论如何,感谢您的观点!