キーとラムダ式を使用した Python の max 関数を理解する
Python の max 関数は、指定されたシーケンスから最大値を見つけるために使用されます。カスタム オブジェクトなどの複雑なデータ構造を扱う場合、デフォルトの辞書編集順序を超える比較基準を指定することが必要になる場合があります。ここで key 引数が登場します。
比較をカスタマイズするための key の使用
max の key パラメータは、シーケンス内の各要素がどのように処理されるかを指定する呼び出し可能オブジェクトを受け取ります。比較される。この呼び出し可能オブジェクトは引数として要素を受け取り、比較に使用される値を返します。例:
<code class="python">players = [ Player("John", totalScore=100), Player("Jane", totalScore=150), Player("Tom", totalScore=75) ] def winner(): w = max(players, key=lambda p: p.totalScore)</code>
この例では、ラムダ式は Player オブジェクトの totalScore 属性を返す匿名関数です。これにより、max はスコアに基づいてプレイヤーを比較し、最も高いスコアを持つインスタンスを返すことができます。
ラムダ式について
ラムダ式は、何も使用せずにインラインで定義される匿名関数です。 def キーワードの使用。構文は次のとおりです。
lambda parameters: expression
ラムダ式にはいくつかの利点があります。
上記の例では、ラムダ式:
<code class="python">lambda p: p.totalScore</code>
は、次の名前付き関数と同等です:
<code class="python">def get_score(p): return p.totalScore</code>
key およびラムダ式を使用する利点
key 引数をラムダ式と組み合わせて使用すると、いくつかの利点があります。 :
追加メモ
以上が`key` 引数とラムダ式を使用して、Python の `max` 関数の比較をカスタマイズするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。