python辞書値を並べて、前のn個のkey値を取り出す方法


今日はアルゴリズムを書く過程で、次のような辞書が得られました。

{'user1':0.456,'user2':0.999,'user3':0.789,user:'0.234'}
辞書のvalue値の上位3のkeyを取得するには、次のようなコードがあります。
直接コードを貼る:

def order_dict(dicts, n):
 result = []
 result1 = []
 p = sorted([(k, v) for k, v in dicts.items()], reverse=True)
 s = set()
 for i in p:
  s.add(i[1])
 for i in sorted(s, reverse=True)[:n]:
  for j in p:
   if j[1] == i:
    result.append(j)
 for r in result:
  result1.append(r[0])
 return result1
類似の問題
python、辞書の中でどのようにvalue値によって対応するkey値を取りますか?
たとえば:

dic = {‘user1':'01', ‘user2':'02'} 
入力01によって、aが必要です。

list(dic.keys())[list(dic.values()).index('01')]
Pythonで辞書の最大/最小値に対応するキーを取得します。
1.min(dict,key=dict.get)またはmax(dict,key=dict.get)を利用する

d = {1:1, 2:0, 3:2}
min(d, key=d.get) //   
max(d, key=d.get) //  
2.ラダ関数を利用する

min(d.items(), key=lambda x: x[1]) 
min(d, key=lambda x: d[x])
以上のpython辞書の値を並べて、そして前のn個のkey値を取り出す方法は小編がみんなのすべての内容に分かち合うので、みんなに1つの参考をあげることができることを望んで、みんながよけいに私達を支持することをも望みます。