-2

假设一个 txt 文件由以下几行组成:

A
  1
  2
  3
B 
  1
  2
  3
C
  1
  3

显然,txt 文件中的 C 中缺少 2。检测丢失的 2 并输出它的想法是什么?我需要逐行读取txt文件。

谢谢 !

4

2 回答 2

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
于 2012-07-16T10:13:45.580 回答
-1

好的,我认为你们大多数人都不清楚这个问题。无论如何,这是我的解决方案:

我将每个部分的值附加到 for 循环内的列表中。例如,在 A 节中,列表将包含 1,2 和 3。C 节中列表的 len 将只有 2。因此,我们知道 C 节中缺少一个值。从这里,我们可以打印出C节。对造成的误解深表歉意。这个问题正式关闭。无论如何感谢您的看法!

于 2012-07-16T08:09:00.973 回答