python中字典排序
时间: 2024-11-23 13:24:34 浏览: 17
在Python中,字典本身是无序的,因为它们是基于键(key)存储元素的,而不是按照插入顺序或值(value)。如果你想对字典进行排序,通常需要先将其转换成可以排序的数据结构,比如列表或元组,然后再进行排序。
如果你想按照键(key)进行排序,你可以创建一个新的字典,其中包含原字典的键值对,并使用`sorted()`函数,它会返回一个新的已排序的列表:
```python
my_dict = {'c': 5, 'a': 10, 'b': 7}
sorted_dict = dict(sorted(my_dict.items()))
print(sorted_dict) # 输出:{'a': 10, 'b': 7, 'c': 5}
```
如果你想要保持原始字典不变并按值(value)排序,你需要借助额外的数据结构,例如先将字典转为列表,然后按值排序:
```python
from operator import itemgetter
my_dict = {'c': 5, 'a': 10, 'b': 7}
sorted_list = sorted(my_dict.items(), key=itemgetter(1))
sorted_dict = {k: v for k, v in sorted_list}
print(sorted_dict) # 输出:{'c': 5, 'b': 7, 'a': 10}
```
阅读全文