在Python中,字典的键值对是无序的。

但可以根据键值对的键或值对字典进行排序:

dict0 = {'a':1, 'b':3, 'd':2, 'c':5}  
s = sorted(dict0.items(), key=lambda x:x[0], reversed=True)   
#dict0.items()  字典dict0键值对构成的列表,
#key=lambda x:x[0]、key=lambda x:x[1]  前者是对字典按键排序, 后者是对字典按值排序
#reversed=True 表示降序排列, 等于False 表示升序排列
 

 

>> dict0 = {'a':1, 'b':3, 'd':2, 'c':5}  
>> s = sorted(dict0.items(), key=lambda x:x[0], reversed=True)  

>> s
[('d', 2), ('c', 5), ('b', 3), ('a', 1)]


>> s = sorted(dict0.items(), key=lambda x:x[1], reversed=True)  

>> s
[('c', 5), ('b', 3), ('d', 2), ('a', 1)]

但排序后的返回值,已经是列表,而非字典。

若强行使用dict(s)再次转化为字典,则排序又失去了意义。

posted on 2018-11-09 09:15  望月又一  阅读(249)  评论(0编辑  收藏  举报