python 如何对字典进行排序

python 如何对字典进行排序

作者:Joshua Lee发布时间:2026-01-07阅读时长:0 分钟阅读次数:12

用户关注问题

Q
如何根据字典的键对字典进行排序?

我有一个字典,想按照键的字母顺序对它进行排序,该怎么做?

A

使用sorted函数按键排序字典

可以使用 sorted() 函数对字典的键进行排序,然后生成一个有序的字典。例如:

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_dict = dict(sorted(my_dict.items()))
print(sorted_dict)

这会根据键按照字母顺序生成一个新的字典。

Q
能否按字典中的值进行排序?方法是什么?

如果想按照字典中存储的数值进行排序,该如何操作?

A

通过指定 sorted 的 key 参数实现按值排序

可以利用 sorted() 函数的 key 参数,指定按字典的值进行排序。例如:

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[1]))
print(sorted_dict)

这样会返回一个按值递增排序的新字典。

Q
如何实现按字典的值进行降序排序?

我想让排序的结果中,字典值最大的项排在最前面,应该如何实现?

A

使用 sorted 函数并设定 reverse=True 参数

在 sorted() 函数中添加 reverse=True 参数可以实现降序排序。代码示例如下:

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[1], reverse=True))
print(sorted_dict)

排序结果中,字典值最高的元素在开头。