python 字典如何排序

python 字典如何排序

作者:William Gu发布时间:2026-01-05阅读时长:0 分钟阅读次数:25

用户关注问题

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

我想按照字典中的键来对Python字典进行排序,应该怎样操作?

A

使用sorted函数按键排序字典

可以使用Python内置的sorted函数,结合字典的items()方法,对字典按键排序。示例代码如下:

my_dict = {'c': 3, 'a': 1, 'b': 2}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[0]))
print(sorted_dict)  # 输出:{'a': 1, 'b': 2, 'c': 3}

这样即可得到一个按键排序后的新字典。

Q
Python如何根据字典的值来排序?

有没有方法可以依据字典中的值来对整个字典进行排序?

A

利用sorted函数结合值排序字典

可以通过sorted函数,对字典的items()根据值进行排序,如下示范:

my_dict = {'apple': 5, 'banana': 2, 'orange': 7}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[1]))
print(sorted_dict)  # 输出:{'banana': 2, 'apple': 5, 'orange': 7}

这里key参数lambda函数指定以字典的值为排序依据。

Q
如何实现Python中字典的降序排序?

我需要让排序结果是从大到小排列,字典的值或者键如何做到倒序排序?

A

通过设置sorted函数的reverse参数实现降序排序

sorted函数有个reverse参数,可用来控制排序顺序,将其设为True即可实现降序。示例(按值降序):

my_dict = {'x': 10, 'y': 5, 'z': 15}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[1], reverse=True))
print(sorted_dict)  # 输出:{'z': 15, 'x': 10, 'y': 5}

降序排序同样适用于根据键排序,只需调整key函数即可。