在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)再次转化为字典,则排序又失去了意义。
行万里路,不忘初心!