Python 字典排序

1、默认的dict()是无序的,也就是不会维持每一项存入时的先后顺序。

  解决办法:这时可以使用:from collections import OrderedDict 来定义字典  dict = OrderedDict()  再进行存储就会有序

2、对已经存储好的字典进行排序

#初始化字典
 
dict_data={6:9,10:5,3:11,8:2,7:6}

  1)按键排序(key)

#对字典按键(key)进行排序(默认由小到大)
test_data_0=sorted(dict_data.keys())
 
#输出结果
print(test_data_0) #[3, 6, 7, 8, 10]
 
test_data_1=sorted(dict_data.items(),key=lambda x:x[0])
 
#输出结果
print(test_data_1) #[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]

  2)按值排序(value)

 1 test_data_2=sorted(dict_data.items(),key=lambda x:x[1])
 2  
 3 #输出结果
 4 print(test_data_2) #[('8', 2), ('10', 5), ('7', 6), ('6', 9), ('3', 11)]
 5  
 6 test_data_3=sorted(dict_data.items(),key=lambda x:x[1],reverse=True)
 7  
 8 #输出结果
 9 print(test_data_3) #[('3', 11), ('6', 9), ('7', 6), ('10', 5), ('8', 2)]
原文地址:https://www.cnblogs.com/mengxiangtiankongfenwailan/p/10727818.html