按值排序字典 Python
已發表: 2023-01-25Python 是一種流行的編程語言,可用於在服務器上創建 Web 應用程序。 它可用於與軟件一起開發工作流程。 除了連接數據庫系統,Python 還可以讀取和操作文件。 可以設計這些程序來執行複雜的數學問題和處理大數據。 它支持生產就緒的軟件開發和快速原型製作。
Python 中有幾種原始數據類型,例如字典、集合、列表、元組等。這種流行的編程語言還包含具有專用數據結構的集合模塊,例如 deque、ChainMap 等。這些數據類型包含使 Python 代碼成為可能的函數效率更高,因此用戶可以輕鬆使用它們。 Python 中的字典數據類型有一個這樣的預定義函數,稱為排序函數。 讓我們討論按值對 Python 字典進行排序。
目錄
Python 數據類型基礎:
Python 中數據項的分類或分類稱為數據類型。 Python 提供了幾種內置數據類型。 下面提到了 Python 內置數據類型。
- 標量數據類型
示例:int、float、bool、complex、none
- 序列數據類型
示例:字符串、列表和元組
- 映射數據類型
例子:字典
- 設置數據類型
示例:Set 和 frozenset
- 可變和不可變數據類型
數字、元組和字符串是不可變的,而字典對象列表是可變的。
Python 中的字典:
Python 中的集合數據類型由鍵和值對組成,類似於其他編程語言(如 Java)中的映射,稱為字典數據類型。 下面列出了字典數據類型的一些重要特性。
- 即使在 Python 中聲明了字典之後,也可以更改字典中的數據。 因此,Python 字典是可變的。
- 字典中的鍵是不同的。 但是,這些值允許重複條目。 此外,Python 字典是無序的。
- 鍵用作索引以訪問字典中的值。
- Python 中的字典是在一對大括號內聲明的。
可以在 Python 字典中使用的幾個操作如下。
- 複製
- 清除
- 得到
- 從密鑰
- 項目
- 流行項目
- 鑰匙
- 流行音樂
- 默認設置
- 價值觀
- 更新
查看 upGrad 的數據科學課程
為什麼需要在 Python 中對字典進行排序?
- 與搜索時間複雜度為 O(n) 的列表不同,字典的搜索時間複雜度為 O(1)。 因此,字典可以在任何需要的地方用作可行的動作。
- 排序的字典在執行操作時提供更好的清晰度和理解。
- 通過在 Python 中對字典進行排序,可以對任何數據結構進行有效分析。
探索我們的熱門數據科學課程
IIITB 的數據科學執行研究生課程 | 商業決策數據科學專業證書課程 | 亞利桑那大學數據科學碩士 |
IIITB 的數據科學高級證書課程 | 馬里蘭大學數據科學和商業分析專業證書課程 | 數據科學課程 |
字典排序的不同方法:
Python 中的字典排序可以通過多種方法完成,如下所列。
- 按鍵排序
- 按值對字典排序
- 使用字符串和數字的自定義排序算法
- 反轉排序順序
在 Python 中按值對字典進行排序可以通過多種方法來完成。
- for循環方法
- 使用sorted()函數
- 使用操作的 Module 和 itemgetter()
- 使用 Lambda 函數排序
- 返回具有排序值的新字典
讓我們在後續部分詳細討論所有這些方法。
閱讀我們流行的數據科學文章
數據科學職業道路:綜合職業指南 | 數據科學職業發展:工作的未來就在這裡 | 為什麼數據科學很重要? 數據科學為企業帶來價值的 8 種方式 |
數據科學對管理者的相關性 | 每個數據科學家都應該擁有的終極數據科學備忘單 | 你應該成為數據科學家的 6 大理由 |
數據科學家的一天:他們做什麼? | 神話破滅:數據科學不需要編碼 | 商業智能與數據科學:有什麼區別? |
使用 for 循環對字典進行排序:
for 循環可用於在 Python 中按值對字典進行排序。 字典的值使用 sorted() 函數排序。 然後,編譯器循環遍歷排序後的值以確定每個值的鍵。 鍵值對按相同的順序排序,形成一個新的字典。 排序後字典不能重新排序,因為順序對是寫在一個全新的字典中的。
使用 sorted() 函數對字典進行排序:
sorted() 函數用於對數組值進行排序。 在對字典進行排序時,sorted() 函數接受以下語法中的一個或多個參數。
排序(dict1,鍵= dict1.get)
在上面的代碼語句中,“鍵”是在比較值進行排序之前對每個元素調用的函數。 字典中鍵的值由字典對象的 get() 方法返回。 表達式“sorted(dict1, key=dict1.get)”將恢復鍵的列表,其中的值按指定順序排序。 可以用這個創建一個新的排序字典。
sorted() 函數減少了代碼大小。 當與 itemgetter() 函數結合使用時,sorted() 函數提供了一種更簡潔的解決方案,可以在 Python 中按值對字典進行排序。
使用 operator Module 和 itemgetter() 對字典進行排序:
itemgetter() 函數包含在模塊“operator”中。 此函數還原可從對象返回元素的可調用對象。 在下面的示例中,使用 itemgetter() 函數創建了一個可調用對象,它可以恢復任何以 '2' 作為其鍵的字典值。
每個字典都可以訪問 items() 方法。 此方法將鍵值對作為元組列表返回。 itemgetter() 方法可用於通過拉取元組的第二個值對元組的列表進行排序。 一旦對元組列表進行排序,就可以使用這些值創建一個新字典。
使用 Lambda 函數對 Python 中的 Dictionary 進行排序:
Python 中的無名或匿名函數稱為 Lambda 函數。 使用 lambda 函數無需導入
到目前為止討論的方法只兼容 Python 3.7 和其他更高版本。 但是,將要討論的下一個方法也與早期版本兼容。
返回帶有排序值的新字典:
collections 模塊包含可用於保留已排序字典的 OrderedDict() 函數。 一旦字典按值排序,就可以使用它。
如果您想了解畫面、數據科學,請查看 IIIT-B 和 upGrad 的數據科學執行 PG 課程,該課程專為在職專業人士創建,提供 10 多個案例研究和項目、實踐實踐研討會、行業專家指導, 與行業導師一對一,400 多個小時的學習和與頂級公司的工作幫助。