sorted() 函數提供了一種根據特定條件對清單重新排序的通用方法。 key 參數讓我們可以使用自訂邏輯進行排序,並利用匿名 lambda 函數。
Lambda 函數是使用 lambda 關鍵字定義的簡潔內聯函數。一般語法是:
lambda input_variable(s): expression
它們接受輸入變數並執行表達式指定的操作。
在sorted() 的上下文中, key 參數採用一個可調用函數來處理每個列表元素並產生一個用於排序的值。定義此函數最常見的方法是使用 lambda。語法:
sorted(list, key=lambda element: expression)
例如:
sorted([1, 3, 2], key=lambda x: x % 2)
lambda 函數計算每個元素除以2 時的餘數,本質上為列表返回[0, 1, 0] [1, 3,2]。然後使用這個轉換後的列表進行排序,得到 [1, 3, 2]。
key 參數根據值將原始列表轉換為新列表由 lambda 函數傳回。讓我們舉例:
範例:
sorted([3, 6, 3, 2, 4, 8, 23], key=lambda x: x % 2)
Lambda 函數:
lambda x: x % 2
列表:
[3, 6, 3, 2, 4, 8, 23]
轉換列表:
[0, 1, 0, 1, 1, 1, 0] # 0 indicates odd, 1 indicates even
排序列表:
[3, 3, 23, 6, 2, 4, 8] # Odd numbers first, then even numbers
sorted([(3, 5, 8), (6, 2, 8), (2, 9, 4), (6, 8, 5)], key=lambda x: x[1])
以上是如何在 Python 中使用「sorted()」函數的「key」參數中的 lambda 函數來自訂排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!