[解決済み] ディクショナリーで最大値を持つキーを取得する?
2022-03-18 10:34:27
質問
私は
dictionary
: キーは文字列、値は整数です。
例
stats = {'a':1000, 'b':3000, 'c': 100}
を取得したいと思います。
'b'
というのは、このキーがより高い値を持つキーだからです。
キーと値のタプルを反転させた中間リストを使って、次のようにしました。
inverse = [(value, key) for key, value in stats.items()]
print max(inverse)[1]
そちらの方が良い(というか、よりエレガントな)アプローチなのでしょうか?
どのように解決するのですか?
を使用することができます。
operator.itemgetter
を使用します。
import operator
stats = {'a':1000, 'b':3000, 'c': 100}
max(stats.iteritems(), key=operator.itemgetter(1))[0]
また、メモリ上に新しいリストを構築する代わりに
stats.iteritems()
. その
key
パラメータを
max()
関数は、項目のランク付けを決定するためのキーを計算する関数である。
もし、別のキーと値のペア 'd' があった場合はご注意ください。3000 を返した場合、このメソッドは 一 のうち に が、両方とも最大値であるにもかかわらず
>>> import operator
>>> stats = {'a':1000, 'b':3000, 'c': 100, 'd':3000}
>>> max(stats.iteritems(), key=operator.itemgetter(1))[0]
'b'
Python3を使っている場合。
>>> max(stats.items(), key=operator.itemgetter(1))[0]
'b'
関連
-
Python入門 openを使ったファイルの読み書きの方法
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み] リスト内包型辞書の作成
-
[解決済み] 辞書をキーでソートするにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
任意波形を生成してtxtで保存するためのPython実装
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない