python 按照字典的键或者值进行排序,输出仍为字典
时间: 2023-09-06 21:00:50 浏览: 189
python 根据字典的键值进行排序的方法
在Python中,可以使用`sorted()`函数来按照字典的键或者值进行排序,并通过传递`key`参数指定排序的依据。为了输出仍为字典,可以将排序结果转换为`OrderedDict`类型。
以下是一个示例代码实现:
```python
from collections import OrderedDict
# 原始字典
my_dict = {'b': 3, 'a': 2, 'd': 1, 'c': 5}
# 按照键进行排序
sorted_by_key = OrderedDict(sorted(my_dict.items(), key=lambda x: x[0]))
# 按照值进行排序
sorted_by_value = OrderedDict(sorted(my_dict.items(), key=lambda x: x[1]))
print("按照键进行排序结果:", sorted_by_key)
print("按照值进行排序结果:", sorted_by_value)
```
在这个例子中,我们使用`lambda`函数作为`key`参数的值,来指定按照字典的键或者值进行排序。`sorted()`函数返回一个排序后的元素列表,然后我们使用`OrderedDict`类型将其转换回字典。最后,分别打印按照键和值排序后的结果。
输出结果:
```
按照键进行排序结果: OrderedDict([('a', 2), ('b', 3), ('c', 5), ('d', 1)])
按照值进行排序结果: OrderedDict([('d', 1), ('a', 2), ('b', 3), ('c', 5)])
```
可以看到,按照键进行排序后,字典的键按照字母顺序排列;按照值进行排序后,字典的键按照对应的值的大小顺序排列。
阅读全文