私は値がすべてのdictの値の最大値であるdictキーを取得しようとしています。
私は2つの方法を見つけましたが、どちらも十分にエレガントではありません。
d= {'a':2,'b':5,'c':3}
# 1st way
print [k for k in d.keys() if d[k] == max(d.values())][0]
# 2nd way
print Counter(d).most_common(1)[0][0]
より良いアプローチはありますか?
key
パラメーターをmax()
に使用します。
max(d, key=d.get)
デモ:
>>> d= {'a':2,'b':5,'c':3}
>>> max(d, key=d.get)
'b'
key
パラメータは関数を受け取り、反復可能オブジェクトの各エントリに対して、key
関数が最大値を返すものを見つけます。