使用鍵和 Lambda 表達式來了解 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>
在此範例中,lambda 表達式是一個匿名函數,它會傳回 Player 物件的totalScore 屬性。這允許 max 根據玩家的得分進行比較,並返回得分最高的實例。
理解 Lambda 表達式
Lambda 表達式是內聯定義的匿名函數,無需def 關鍵字的使用。它們的語法如下:
lambda parameters: expression
Lambda 表達式有幾個優點:
在上面的範例中,lambda 表達式:
<code class="python">lambda p: p.totalScore</code>
等價於以下命名函數:
<code class="python">def get_score(p): return p.totalScore</code>
使用key 和Lambda 表達式的好處
將key 參數與lambda 表達式結合使用有幾個好處:
附加說明
以上是如何使用「key」參數和 lambda 表達式來自訂 Python 的「max」函數中的比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!