私は辞書を2冊持っています。最初の値を 2 番目のキーに一致させ、2 番目の辞書で見つかった値を返す必要があります。私はこれまでにこれを思いつきました:
d1 = {}
with open ("file1.txt") as f:
for line in f:
(key,val) = line.split()
d[int(key)] = val
d2 = {}
with open("file2.txt") as f:
for line in f:
(key,val) = line.split()
d[int(key)] = val
for item in d1.values():
if d2.has_key(item):
print value.d2(item)
「解凍するには値が多すぎます」というエラーが表示され続けますが、それとは別に、スクリプトは実際にやりたいことを実行しますか?
更新 (申し訳ありませんが、質問を編集できることを知りませんでした!): 私は 2 つのテキスト ファイルで、file1 は単語を数値システムにマップし、file2 は数値を関連するカテゴリにマップします。最終結果は、file1 の単語が file2 にあるそのカテゴリにリンクされているはずです。これは、最初に単語を数字にリンクし、次に数字をカテゴリにリンクすることによって行われます。例: Aanbidden (オランダ語) > 12 > 猫。"影響"。私のファイルの行は次のようになります。
ファイル1.txt:
aanbidden: 12 13 14 57 58
leven : 15
drinken: 23 56
...
(As you see each key can have one or more values)
file2.txt:
12: affect
13: posemo
14: Posfeel
15: Optim
23: discrep
56: money
57: metaph
58: religious
...
(In this file each key has only one value)