首頁 >後端開發 >Python教學 >如何按多個欄位對 Python 列表進行排序?

如何按多個欄位對 Python 列表進行排序?

DDD
DDD原創
2024-11-18 08:35:021054瀏覽

How Can I Sort a Python List by Multiple Fields?

按多個欄位對 Python 清單進行排序

使用排序清單時,可能需要按多個條件排序。當第一個排序鍵中有聯繫,並且您想要使用第二個鍵來打破它們時,這一點就變得很重要。

要在 Python 中以兩個欄位對列表進行排序,可以將 lambda 函數與sorted() 結合使用功能。這允許您在單一表達式中指定多個排序鍵。

list1 = sorted(csv1, key=lambda x: (x[0], x[1]))

在此範例中,清單按欄位 1 中的值排序,然後按欄位 2 中的值排序。 lambda 函數採用此項目作為輸入並傳回第一個欄位值和第二個欄位值的元組。然後,sorted() 函數根據傳回的元組對列表進行排序。

您也可以使用此技術按一個欄位升序和另一個欄位降序排序:

sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))

在此範例中,清單按第一個欄位值排序,然後按第二個欄位值降序排列(因為有負號)。當您想要按第二個欄位中的最高值對第一個欄位中的每個唯一值進行排序時,這會很有用。

以上是如何按多個欄位對 Python 列表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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