Python实现的字典排序操作示例【按键名key与键值value排序】

  • Post category:Python

下面是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 进行字典排序。