📅  最后修改于: 2023-12-03 15:25:54.890000             🧑  作者: Mango
在Python中,我们可以使用sorted()
函数对字典的键进行排序。如果我们想按键升序排序,可以这样做:
my_dict = {'a': 2, 'c': 1, 'b': 3}
sorted_dict = {k: my_dict[k] for k in sorted(my_dict)}
print(sorted_dict) # {'a': 2, 'b': 3, 'c': 1}
这里,我们使用了字典推导式和sorted()
函数来生成一个新的按键排序的字典。
如果我们想按键降序排序,可以使用sorted()
函数的reverse
参数:
my_dict = {'a': 2, 'c': 1, 'b': 3}
sorted_dict = {k: my_dict[k] for k in sorted(my_dict, reverse=True)}
print(sorted_dict) # {'c': 1, 'b': 3, 'a': 2}
这里,我们使用了sorted()
函数的reverse
参数来实现按键降序排序。
另一种方式是使用collections.OrderedDict
。这个类以插入顺序来保持键的顺序,所以可以用它按键排序一个字典:
import collections
my_dict = {'a': 2, 'c': 1, 'b': 3}
sorted_dict = collections.OrderedDict(sorted(my_dict.items()))
print(sorted_dict) # OrderedDict([('a', 2), ('b', 3), ('c', 1)])
如果你想反向排序字典,可以使用reversed()
函数:
my_dict = {'a': 2, 'c': 1, 'b': 3}
sorted_dict = collections.OrderedDict(reversed(list(my_dict.items())))
print(sorted_dict) # OrderedDict([('c', 1), ('b', 3), ('a', 2)])
这里,我们使用了list()
函数将字典转换为列表,然后使用reversed()
函数反转列表顺序,最后使用collections.OrderedDict
将其转换为按键反向排序的字典。
以上就是按键排序字典和按键反向排序的不同方式的介绍。希望能帮助到程序员们。