首頁 >後端開發 >Python教學 >Python 中的「sorted(key=lambda: ...)」語法如何運作?

Python 中的「sorted(key=lambda: ...)」語法如何運作?

Linda Hamilton
Linda Hamilton原創
2024-10-27 08:59:03342瀏覽

How does the `sorted(key=lambda: ...)` syntax work in Python?

理解sorted(key=lambda: ...)的語法

Python中的sorted()函數允許你對一個基於自自自自體定義排序鍵的列表。 key 參數採用可呼叫函數,指定每個元素應如何比較每個元素以進行排序。當此可呼叫函數是lambda 函數時,其語法遵循特定模式:

key=lambda variable: variable[index]

Lambda 函數語法

lambda 函數是使用lambda 定義的匿名函數,它接受一個或多個變數作為輸入並執行計算或運算。 lambda 函數的語法為:

lambda input_variable(s): expression

sorted() 中的鍵參數

sorted() 中的鍵參數採用可呼叫函數,在我們的例子中,可呼叫函數是lambda 函數。 lambda 函數應用於清單中的每個元素,結果用於比較元素進行排序。

理解語法

lambda 函數中的變數當函數迭代列表時,將被指派給列表的每個元素。該變數後面跟著一個冒號 (:),後面跟著提取用於排序的值的表達式。在提供的範例中,表達式正在存取清單中每個元素的第一個元素,表示為變數[0]。

為什麼「variable」被宣告兩次

該變數被宣告兩次,因為lambda 函數使用單一冒號(:) 作為輸入變數和表達式之間的分隔符號。冒號之前的第一個變數被指派列表的元素,冒號之後的第二個變數被指派提取排序值的表達式。

範例

考慮以下範例:

<code class="python">mylist = [(3, 6), (2, 5), (1, 4)]
sorted(mylist, key=lambda x: x[0])</code>
在此範例中,lambda 函數lambda x: x[0] 擷取mylist 中每個元組的第一個元素。然後,排序清單將按元組的第一個元素升序排列。

結論

sorted(key=lambda: ...) 的語法涉及使用 lambda 函數來定義自訂排序鍵。 lambda 函數接受一個輸入變量,該變量被分配給列表的每個元素,並從該元素中提取一個值以用於排序。了解此語法以及排序()函數中 lambda 函數的行為對於根據自訂標準有效地對清單進行排序至關重要。

以上是Python 中的「sorted(key=lambda: ...)」語法如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn