私はPythonの初心者です。リストとして値を持つ2つの辞書にテキストファイルを読み込もうとしています。同じファイル(Python)から2つの辞書を読み込む
ファイルには、次のものが含まれています
term1 doc1 doc3 doc4
term2 doc5 doc1
term3 doc6 doc2
私は同じファイル、ドキュメントなどのキーと値として用語を持つことになり、他方が逆になります1から2つの辞書を作成しようとしています。私はこれまで何をやったかと
inverted_index = {}
forward_index = {}
with open('term_sample.txt') as file:
for line in file:
items = line.split()
term, doc = items[0], items[1:]
for doc in items[1:]
inverted_index[term] = [doc]
forward_index[doc] = [term]
print(inverted_index)
print(forward_index)
私は次の出力取得しています:
{'term2': ['doc1'], 'term1': ['doc4'], 'term3': ['doc2']}
{'doc3': ['term1'], 'doc6': ['term3'], 'doc4': ['term1'], 'doc5': ['term2'], 'doc1': ['term2'], 'doc2': ['term3']}
をが、これは私が探して出力されます:
{'term1': ['doc1','doc3','doc4'], 'term2': ['doc5','doc1'], 'term3': ['doc6','doc2']}
{'doc1': ['term1','term2'], 'doc3': ['term1'], 'doc4': ['term1'], 'doc5': ['term2'], 'doc6': ['term3'], 'doc2': ['term3']}
助けてください私はこれを修正する!
FWIW、これは '.setdefault'にデフォルトのオブジェクトを提供するために' list() 'コンストラクタを呼び出すのではなく、空のリストリテラル' [] 'でも働きます。 –
@ PM2Ring良い点。私はちょうど[この質問](http://stackoverflow.com/questions/327534/storing-and-updating-lists-in-python-dictionaries-why-does-this-happen)からコードをコピーしていた – Barmar
今私は見る両方のスタイルが別々の場所にあります。 – Barmar