首頁  >  文章  >  後端開發  >  如何依降序和升序對清單清單進行排序?

如何依降序和升序對清單清單進行排序?

Patricia Arquette
Patricia Arquette原創
2024-10-21 17:24:02543瀏覽

How to Sort a List of Lists in Descending and Ascending Order?

按降序和升序對列表進行排序

給定一個包含兩個元素的列表,目標是對列表進行排序首先根據第一個元素按降序排列,然後根據第二個元素按升序排列。

為了實現這一點,我們可以利用 sort() 方法和自訂鍵函數。這是一個解:

<code class="python">L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]]
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>

sort() 方法的關鍵參數指定一個決定排序順序的函數。在本例中,我們定義了一個 lambda 函數,它接受一個列表 k 並傳回一個元組。元組的第一個元素是列表k[0]的第一個元素,用於降序排序。第二個元素是清單第二個元素的否定 -k[1],用於升序排序。

透過先降序排序,reverse=True 保證每個清單的第一個元素('a' 或 'b') 依相反的字母順序排序。隨後,對第二個元素進行升序排序,整個清單排序為:

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]

這有效地實現了所需的排序標準。

以上是如何依降序和升序對清單清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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