2016-11-17 14 views
0

my_dict = {'label': 6, 'label_2': 5, 'label_3': 9, 'label_4': 12}最大の整数を有するN辞書キーのリストを返すこと

私はトップ2(又は3、又は4、又は50 ...これは変化するであろう)が含まれますリストを作成したい値それらの最高値に従って、辞書キーを使用する。だから私は、トップ2を望んでいた場合は、上記の例では、私が取得する必要があります:トップ3のための

['label_3', 'label_4']

は、私が取得する必要がありますように

['label', 'label_3', 'label_4']

とします。

他のいくつかのstackoverflowスレッドを読んだ後、私はheapqを実験していますが、私が望むように動作させることはできません。助けていただければ幸いです。

+0

[値でPython辞書を並べ替える]の可能な複製(0120-18753)。 – DeepSpace

+0

解決策を答えとして追加することはできますあなたの質問に編集する。 – Lafexlos

答えて

0

私がここに投稿した瞬間、私は解決策を見つけました(heapq documentationのおかげで)。これは動作します:

my_list = heapq.nlargest(3, my_dict, key=my_dict.get)

これはmy_dictの上に行くと3つの最大値でキーを返します。

ありがとうございました。

関連する問題