在 Python 中,字典是无序的,不支持直接按照键排序。但是可以通过以下方法实现字典按照键排序:
1 2 3 |
my_dict = {'b': 2, 'c': 3, 'a': 1} sorted_dict = {k: v for k, v in sorted(my_dict.items(), key=lambda item: item[0])} print(sorted_dict) |
这种方法使用了 sorted() 函数对字典的 items() 方法返回的键值对列表进行排序,然后使用字典推导式重新创建一个有序的字典。
1 2 3 4 5 |
from collections import OrderedDict
my_dict = {'b': 2, 'c': 3, 'a': 1} sorted_dict = OrderedDict(sorted(my_dict.items(), key=lambda item: item[0])) print(sorted_dict) |
这种方法利用了 collections 模块中的 OrderedDict 类,通过传入 sorted() 函数排序后的键值对列表,构造一个有序的字典。
1 2 3 4 5 |
import operator
my_dict = {'b': 2, 'c': 3, 'a': 1} sorted_dict = dict(sorted(my_dict.items(), key=operator.itemgetter(0))) print(sorted_dict) |
这种方法利用了 operator 模块的 itemgetter() 函数作为 key 参数传给 sorted() 函数,进行排序后再构建出有序的字典。