ファイルを開き、「myfile」という名前を付けました。それから2つの異なる辞書を作成したいのですが、ファイルが閉じてしまい、最初のループで最初の辞書を作成したためだと思います。ヒストグラムの空の辞書を取得します。myfile を x として使用し、2 番目のループで f の代わりに x を使用しようとしましたが、この「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)