按多個欄位對Python 列表進行排序
如果您有一個使用排序()從排序的CSV 檔案建立的列表,您可能需要按附加條件進一步對清單進行排序。若要按兩個欄位對 Python 清單進行排序,您可以使用排序()函數和 lambda 表達式的組合。
在您的情況下,您可以按欄位 1 中的值對清單 list1 進行排序,然後按欄位 1 中的值對清單 list1 進行排序。使用下列程式碼在欄位 2 中取得值:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
sorted() 中的 key 參數採用一個決定排序順序的函數。在本例中,lambda 函數傳回用於排序的值元組。元組的第一個元素是欄位 1 中的值,第二個元素是欄位 2 中的值。
要依一個欄位升序、另一個欄位降序排序,可以在 lambda 函數中使用負值。例如,若要按欄位 1 公升序和欄位 2 降序排序,請使用下列程式碼:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
以上是如何使用「sorted()」和 Lambda 表達式以多個欄位對 Python 清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!