首頁 > 後端開發 > Python教學 > 如何在Python中以交替順序對列表列表進行排序?

如何在Python中以交替順序對列表列表進行排序?

Susan Sarandon
發布: 2024-10-21 16:56:02
原創
420 人瀏覽過

How to Sort Lists of Lists in Alternating Order in Python?

以交替順序對列表的列表進行排序

給定一個包含格式為[['a',1], ['的子列表的列表a',2], ['a',3], ['b',1], ['b',2], ['b',3]],目標是以交替方式對這些子列表進行排序,其中元素0 按降序排序,元素1 按升序排序。預期結果為[['b',1], ['b',2], ['b',3], ['a',1], ['a',2], ['a', 3 ]].

要實現這一目標,可以利用帶有自訂鍵的sort() 函數。關鍵是一個 lambda 函數,它提取感興趣的元素並對它們應用排序操作。在本例中,它會擷取每個子清單的第一個元素,套用降序排序,然後將其與第二個元素的負數組合,並按升序排序。透過使用reverse=True反轉排序順序,子清單將按第一個元素降序排序,並按第二個元素升序排序。這會產生所需的交替順序。

以下程式碼片段示範了解決方案:

<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)

print(L)
# [['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
登入後複製

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

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板