如何在 Python 中对字典进行排序

2025年3月17日 | 阅读 3 分钟

Python 字典是键值对形式存储的数据集合。每个键都与其值相关联。它本质上是可变的,这意味着我们可以在创建后更改数据。

它是无序的数据集合,允许存储重复值,但键必须是唯一的。

字典使用花括号 {} 声明,键值对之间用逗号分隔。

输出

为什么要对字典进行排序

  • 列表的搜索时间复杂度为 O(n),而字典的搜索时间复杂度为 0(1),这使得字典比列表更快。当需要时,字典可以替代列表使用。
  • 排序使我们在处理数据结构时能够更有效地分析数据。
  • 排序后的字典能更好地理解如何处理复杂的操作。

让我们了解一下对字典进行排序的各种方法。

  • 按键排序
  • 按值排序
  • 排序算法
  • 反转排序顺序

按键和值排序

Python 提供了 内置的 keys 函数 keys() 和 values() 函数来对字典进行排序。它接受任何可迭代对象作为参数,并返回已排序的键列表。我们可以使用键以升序对字典进行排序。让我们看下面的例子。

示例 -

输出

[1, 2, 3, 4, 5, 6]
[(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')]

解释 -

在上面的代码中,我们声明了一个字典 names。我们使用了内置函数以及 sorted() 函数,该函数返回已排序键的列表。接下来,我们使用 items() 函数以排序的顺序获取字典。

排序算法

有各种排序算法可以对字典进行排序;我们可以使用 sorted 方法中的其他参数。让我们看下面的例子。

示例 -

输出

{'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'}
['one', 'two', 'three', 'five', 'six', 'seven']
['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday']

反转排序顺序

可以使用 reverse 参数反转字典。让我们看下面的例子。

示例 -

输出

[6, 5, 4, 3, 2, 1]

在本教程中,我们讨论了如何在 Python 中对字典进行排序。排序后的字典易于处理大量数据,并提供快速的搜索结果。


下一个主题Python 中的强数