Python字典按Key排序详解

在 Python 中,字典是无序的,不支持直接按照键排序。但是可以通过以下方法实现字典按照键排序:

方法一:使用 sorted() 函数和字典的 items() 方法

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() 方法返回的键值对列表进行排序,然后使用字典推导式重新创建一个有序的字典。

方法二:使用 collections.OrderedDict 类

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() 函数排序后的键值对列表,构造一个有序的字典。

方法三:使用 operator 模块的 itemgetter() 函数

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() 函数,进行排序后再构建出有序的字典。

作者:qq_白羊座

物联沃分享整理
物联沃-IOTWORD物联网 » Python字典按Key排序详解

发表回复