2017-04-03 13 views
0

これは私のプログラムの小さな部分ですが、基本的にこれまでのところ2つのtxtファイルを見て、それらを単語のキーでメインtxtファイルと比較しました。最初の2つのtxtファイル(txtファイル1 & txtファイル2)のそれぞれについて、メインのtxtファイルから単語の頻度を見つけ、単語とその頻度をtxtファイル1 & txtファイル2を2つの別々の辞書wordfreqおよびwordfreq2。Pythonの2つの辞書の値を2つの異なるリストから比較する

ここでは、これらの2つのリストの単語の頻度を比較したいと思います。 wordfreqのキーがwordfreq2の同じキーより大きい値を持っている場合は、その単語をanotherdict1に追加したいと思います。

anotherdict1 = {} 
anotherdict2 = {} 


for key in wordfreq.keys(): 
    if key in wordfreq2.keys() > key in wordfreq.keys(): 
     anotherdict2.update(wordfreq2) 

for key in wordfreq2.keys(): 
    if key in wordfreq.keys() > key in wordfreq2.keys(): 
     anotherdict1.update(wordfreq) 

print (wordfreq) 
print (wordfreq2) 

答えて

0

あなたがここでやっていることは(dict1用と同じ)wordfreq2anotherdict2を更新しています。つまり、wordfreq2のすべてのキー/値はanotherdict2で同じになります。しかし、あなたがしなければならないことは、その特定のキー/値のペアを追加することだけです。さらに、お客様のif小切手は2つのブール値を比較しています。つまり、key in wordfreq2.keys()は、値そのものではなく、真または偽になります。 wordfreq2[key]を使用してください。ここで私はそれをする方法です:

for key, wordfreq_value in wordfreq.items(): 
    wordfreq2_value = wordfreq2[key] 
    if wordfreq2_value > wordfreq_value: 
     anotherdict2[key] = wordfreq2_value 
    else: 
     anotherdict[key] = wordfreq_value 
関連する問題