按值排序字典 Python

已發表: 2023-01-25

Python 是一種流行的編程語言,可用於在服務器上創建 Web 應用程序。 它可用於與軟件一起開發工作流程。 除了連接數據庫系統,Python 還可以讀取和操作文件。 可以設計這些程序來執行複雜的數學問題和處理大數據。 它支持生產就緒的軟件開發和快速原型製作。

Python 中有幾種原始數據類型,例如字典、集合、列表、元組等。這種流行的編程語言還包含具有專用數據結構的集合模塊,例如 deque、ChainMap 等。這些數據類型包含使 Python 代碼成為可能的函數效率更高,因此用戶可以輕鬆使用它們。 Python 中的字典數據類型有一個這樣的預定義函數,稱為排序函數。 讓我們討論按值對 Python 字典進行排序。

目錄

Python 數據類型基礎:

Python 中數據項的分類或分類稱為數據類型。 Python 提供了幾種內置數據類型。 下面提到了 Python 內置數據類型。

  1. 標量數據類型

示例:int、float、bool、complex、none

  1. 序列數據類型

示例:字符串、列表和元組

  1. 映射數據類型

例子:字典

  1. 設置數據類型

示例:Set 和 frozenset

  1. 可變和不可變數據類型

數字、元組和字符串是不可變的,而字典對象列表是可變的。

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 多個小時的學習和與頂級公司的工作幫助。

想要分享這篇文章?

為未來的職業做準備

申請數據科學理學碩士