Skip to main content
 首页 » 编程设计

python之如何按值对多级字典进行排序

2025年05月04日25lvdongjie

如何根据值对 python 多级字典进行排序?

test_dict = {'Items1':{'name':'Homer', 'age':39},'Items2':{'name':'Bart', 'age':10},'Items3':{'name':'Json','age':20}} 

按'年龄'排序后,应该是

test_dict = {'Items2':{'name':'Bart', 'age':10},'Items3':{'name':'Json','age':20},'Items1':{'name':'Homer', 'age':39}} 

对于给您带来的不便,我深表歉意。更正了问题。

请您参考如下方法:

您可以使用默认库和 sorted() 方法这样做:

from collections import OrderedDict 
 
test_dict = { 
    'Items1':{'name':'Homer', 'age':39}, 
    'Items2':{'name':'Bart', 'age':10}, 
    'Items3':{'name':'Json','age':20} 
} 
 
sorted_dict = OrderedDict() 
sorted_keys = sorted(test_dict, key=lambda x: test_dict[x]["age"])      
 
for key in sorted_keys:  
    sorted_dict[key] = test_dict[key] 
 
print(sorted_dict) 

输出:

OrderedDict([('Items2', {'age': 10, 'name': 'Bart'}), ('Items3', {'age': 20, 'name': 'Json'}), ('Items1', {'age': 39, 'name': 'Homer'})])