2

私はPythonでドキュメントID番号をキーとして、辞書(再び)を値として持つ「ドキュメント」の辞書を持っています。これらの内部辞書にはそれぞれ、対象の浮動小数点値を保持する「重み」キーがあります。言い換えると:

documents[some_id]['weight'] = ...

私がやりたいことは、「重み」値の降順でソートされたドキュメント ID のリストを取得することです。辞書は本質的に順序付けされていないことを知っています (そして、Python で物事を行うには多くの方法があるようです)。なんかヤバい状況って感じ…

4

3 に答える 3

2

ディクショナリをタプルのリストに変換し、重みに基づいて (降順の逆順で) 並べ替えてから、オブジェクトを削除してキーのリストを取得します。

l = documents.items()
l.sort(key=lambda x: x[1]['weight'], reverse=True)
result = [d[0] for d in l]
于 2013-09-09T04:01:49.970 に答える