web-dev-qa-db-ja.com

dictの最高値をキーで出力します

私の口述は

{'A':4,'B':10,'C':0,'D':87}

キーで最大値とキーで最小値を見つけたいです。

出力は次のようになります

最大:87、キーはD

min:0、キーはC

私はdictから最小値と最大値を取得する方法を知っています。 1つのステートメントで値とキーを取得する方法はありますか?

max([i for i in dic.values()]) 
min([i for i in dic.values()])
8

max および mindict.get

maximum = max(mydict, key=mydict.get)  # Just use 'min' instead of 'max' for minimum.
print(maximum, mydict[maximum])
# D 87
39
Alex Thornton

手がかりは、辞書の項目を操作することです(i.e。 key-value pair tuples)。次に、アイテムの2番目の要素をmaxキーとして(dictキーではなく)使用すると、最大値とその関連キーを簡単に抽出できます。

 mydict = {'A':4,'B':10,'C':0,'D':87}
>>> max(mydict.items(), key=lambda k: k[1])
('D', 87)
>>> min(mydict.items(), key=lambda k: k[1])
('C', 0)
9
holdenweb

ただ:

 mydict = {'A':4,'B':10,'C':0,'D':87}
 max(mydict.values())
 min(mydict.values())

valuesは、辞書の値のリストを提供します。 max関数は最大値を提供します。 min関数の最小値

キーを取得したい

1
Hackaholic