これは何よりも理論的な問題です。構造/キーが異なる 3 つの辞書がありますが、値は同じである可能性があります。例えば
dict1 = {u'd':{u'results':[{u'number':'1', u'dispURL':u'www.site.com'},
{u'number':u'2', u'dispURL':u'www.othersite.com'}]
}}
dict2 = {u'result_page':{u'url':u'www.greatsite.com', u'pos':u'1'},
{u'url':u'www.site.com', u'pos':u'2'}}
dict3 = {u'hits':[{u'displayurl':u'www.othersite.com', u'index':u'1'},
{u'displayurl':u'www.site.com', u'index':u'2'}]
}
,の前にある方法と、異なるキー/値が角括弧で囲まれていることに注意しdict1
てください。また、やのようにキーが の後ではなく の前にあるため、キー/値のレイアウトがどのように異なるか、および各辞書でキー名が異なることに注意してください。{u'd':
{u'results':
dict1
dict3
dict1
number
url
dict2
dict3
このような 3 つの大きな辞書があり、スコアリングのために各 URL の位置でそれらを比較する必要があります。すなわち
if dict1[www.site.com index] > dict2[www.site.com index]:
dict1[www.site.com] score +1
コード スニペットが正しくないことはわかっていますが、これは説明のためのものです。私が知りたいのは、このような比較を実行できるようにするには、辞書をどうする必要があるかということです。各辞書から必要なデータを取得し、それらを統一されたキーと構造を持つ 3 つの新しい辞書、または 1 つの新しい辞書に入れることを考えていました。しかし、私のプログラムは計算上非常に高速でなければならないので、これがどのように影響するかわかりません。経験豊富な python プログラマーで、これについて意見を述べたい人はいますか?