2 つの辞書 (TEXT FILES!) をマージできるプログラムを作成しようとしています。これらの辞書は、別のプログラムによって別のコーパスから索引付けされた (そしてテキスト・ファイルに入れられた) 名詞と動詞で構成されています。これは、これらの辞書の形式です。
dict1 = {'strawberry': [['eat', 1]], 'family-member': [['look up', 1]], 'mall': [['search', 1]]}
dict2 = {'strawberry': [['eat', 1]], 'family-member': [['lose', 1]], 'ovation': [['receive', 1]], 'mall': [['build', 1]]}
ご覧のとおり、それらはキーを持つ辞書であり、値のリストにリストがあります。今、私は次のような出力を得ようとしています:
finaldict = {'strawberry': [['eat', 2]], 'family-member': [['look up', 1]['lose',1]], 'mall': [['search', 1]['build', 1]], 'ovation': [['receive', 1]]
これまで、dict1 と dict2 を次のように (文字列で) マージすることができました。
{'strawberry': [['eat', 1]], 'family-member': [['look up', 1]], 'mall': [['search',
1]], 'strawberry': [['eat', 1]], 'family-member': [['lose', 1]], 'ovation':
[['receive', 1]], 'mall': [['build', 1]]}
この文字列を次のステートメントで辞書として変換します: finaldict = eval(str1) これは全体を辞書に変換します。また、finaldict のタイプを尋ねるとそう表示されますが、[ ['eat', 1]] 値などとして。これが必要なのは、すべての項目をループして、どの動詞で何回出現するかをカウントできるようにするためです。