使用多個鍵對列表進行排序,包括逆序
Python 提供了sorted() 函數來對列表進行排序。若要按多個鍵排序,可以使用 lambda 函數作為鍵參數。但是,當使用多個鍵排序時,預設情況下所有鍵都按升序排序。
考慮元組列表:
<code class="python">myList = [(ele1A, ele2A), (ele1B, ele2B), (ele1C, ele2C)]</code>
要使用兩個鍵對此列表進行排序,請使用以下程式碼可以使用:
<code class="python">sortedList = sorted(myList, key=lambda y: (y[0].lower(), y[1]))</code>
此程式碼按第一個鍵按升序對元素進行排序,然後按第二個鍵按升序對元素進行排序。要使用一個鍵以相反順序排序,可以修改 lambda 函數:
<code class="python">sortedList = sorted(myList, key=lambda y: (y[0].lower(), -y[1]))</code>
在此範例中,y[1] 之前的負號反轉第二個鍵的排序順序。但是,此程式碼將按第二個鍵對所有元素進行逆序排序。
要按一個鍵逆序排序並按另一個鍵升序排序,可以使用以下代碼:
<code class="python">sortedList = sorted(myList, key=lambda y: (-y[0].lower(), y[1]))</code>
這裡,負號與第一個鍵一起使用,以反轉第一個鍵的排序順序。
以上是如何使用多個鍵對列表進行排序,包括 Python 中的反向排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!