下面是Python实现的字典排序操作示例【按键名key与键值value排序】的完整攻略。
一、实现方式
使用Python内置函数sorted进行字典排序,可以根据键名 key 或者键值 value 进行排序。
1. 按键名 key 排序
# 将字典按键名升序排序
sorted_dict = sorted(dict_obj.items(), key=lambda item: item[0])
这里的 dict_obj 是指待排序的字典对象。使用 items 方法把待排序的字典对象转化成可迭代对象,然后将它传入sorted函数中进行排序。其中,lambda表达式中的 item[0] 代表按照字典的键名进行排序。
如果要进行降序排序,只需将 lambda表达式 中的 item[0] 改为 item[0],reverse=True 即可。
# 将字典按键名降序排序
sorted_dict_reversed = sorted(dict_obj.items(), key=lambda item: item[0], reverse=True)
2. 按键值 value 排序
# 将字典按键值升序排序
sorted_dict = sorted(dict_obj.items(), key=lambda item: item[1])
这里的 dict_obj 是指待排序的字典对象。使用 items方法把待排序的字典对象转化成可迭代对象,然后将它传入sorted函数中进行排序。其中,lambda表达式中的 item[1] 代表按照字典的键值进行排序。
如果要进行降序排序,只需将 lambda表达式 中的 item[1] 改为 item[1],reverse=True 即可。
# 将字典按键值降序排序
sorted_dict_reversed = sorted(dict_obj.items(), key=lambda item: item[1], reverse=True)
二、示例说明
下面给出两个示例说明,分别是按键名进行升序排序和按键值进行降序排序。
1. 按键名进行升序排序
示例代码如下:
# 待排序的字典
dict_obj = {"b": 2, "a": 1, "d": 4, "c": 3}
# 将字典按键名升序排序
sorted_dict = sorted(dict_obj.items(), key=lambda item: item[0])
# 输出排序后的字典
print(dict(sorted_dict))
运行结果为:
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
可以看到,按键名排序后,字典的键名会按照字典序排序。
2. 按键值进行降序排序
示例代码如下:
# 待排序的字典
dict_obj = {"b": 2, "a": 1, "d": 4, "c": 3}
# 将字典按键值降序排序
sorted_dict = sorted(dict_obj.items(), key=lambda item: item[1], reverse=True)
# 输出排序后的字典
print(dict(sorted_dict))
运行结果为:
{'d': 4, 'c': 3, 'b': 2, 'a': 1}
可以看到,按键值排序后,字典的键名不变,但是键值会按照从大到小的顺序排序。
这就是 Python 实现的字典排序操作,相信通过以上的攻略,大家可以更加熟练地使用 Python 进行字典排序。