我打开了一个文件并将其命名为“myfile”;我想从中创建两个不同的字典,但文件对我关闭,我假设是因为我在第一个循环中创建了第一个字典。我得到一个直方图的空字典,我尝试将 myfile 用作 x 并在第二个循环中使用 x 而不是 f,我得到这个“ValueError:对关闭文件的 I/O 操作”。
另外,如果这会有所不同,我会在一个类的函数中执行此操作。
有谁知道使这项工作的方法?
d = {}
d2 ={}
with myfile as f:
next(f)
for line in f:
k, v = line.split()
d[int(k)] = int(v)
next(f)
for line in f:
items = line.split()
key, values = int(items[0]), items[1:]
d2.setdefault(key, []).extend(values)
hist = defaultdict(list)
for key, values in d2.iteritems():
hist[len(values)].append(key)
histogram = dict(hist)