使用多個鍵對列表進行排序,包括一個倒序
在處理元組列表時,我們可能會遇到需要排序的情況它們是基於多個標準,其中一個標準應該是相反的順序。本文解決了這個挑戰,提供了一種 Pythonic 方法來按兩個鍵對列表進行排序,其中一個按升序排序,另一個按降序排序。
理解問題
考慮一個元組列表,例如 myList = [(ele1A, ele2A),(ele1B, ele2B),(ele1C, ele2C)]。使用兩個鍵對此列表進行排序意味著根據每個元組的第一個和第二個元素對其進行組織。我們可以使用sorted()函數對列表進行排序,傳遞一個指定排序標準的自訂鍵函數:
<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), y[1]))</code>
此程式碼以兩個鍵的升序對清單進行排序。要按降序對第一個鍵進行排序,我們可以使用以下程式碼:
<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1]))</code>
但是,此程式碼會依照降序對兩個鍵進行排序。要僅按降序對第一個鍵進行排序,並按升序對第二個鍵進行排序,我們可以使用以下代碼:
<code class="python">sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))</code>
此代碼按第一個鍵按相反的字母順序(降序)對元組進行排序,並且按字母順序按第二個鍵(升序)。
示例
讓我們將此排序方法應用於給定列表myList:
<code class="python">myList = [('Ele1A', 'Ele2A'), ('Ele1B', 'Ele2B'), ('Ele1C', 'Ele2C')] sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1])) # Print the sorted list print(sortedList)</code>
輸出:
[('Ele1C', 'Ele2C'), ('Ele1B', 'Ele2B'), ('Ele1A', 'Ele2A')]
我們可以看到,列表按第一個鍵按字母順序逆序排序,按第二個鍵按字母順序排序,滿足問題的要求。
以上是如何用一個鍵對元組列表進行逆序排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具