Pythonは同点の場合、どの最大値を選ぶのでしょうか?
2023-11-12 06:13:44
質問
を使用する場合
max()
関数を使用してリスト(またはタプル、dictなど)の最大値を見つけるために、最大値のために同点がある場合、Pythonはどれを選ぶのですか?それはランダムですか?
これは、例えば、タプルのリストがあり、最大値を選択する場合、関連します(
key=
を使って)最大値を選択しますが、異なる2番目の要素がある場合です。Pythonはどのように最大値として選択するものを決定するのでしょうか?
どのように解決するのですか?
最初に見た要素を選びます。参照
のドキュメントを参照してください。
max()
:
複数の項目が最大である場合、この関数は最初に出会ったものを返します。これは、以下のような他のソート安定性保持ツールと一致します。
sorted(iterable, key=keyfunc, reverse=True)[0]
やheapq.nlargest(1, iterable, key=keyfunc)
.
ソースコードではこのように実装されています。
で
./Python/bltinmodule.c
で
builtin_max
を包んでいる
より一般的な
min_max
機能
.
min_max
は値を反復処理し
PyObject_RichCompareBool
を使って現在の値より大きいかどうかを調べます。もしそうなら、より大きな値がそれに取って代わります。等しい値はスキップされます。
その結果、同値の場合は最初の最大値が選択されます。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] 有効なメールアドレスの最大長を教えてください。
-
[解決済み] Pythonの「名前付きタプル」とは何ですか?
-
[解決済み] Pythonにはクラス内に「プライベート」変数がある?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?