字典元素按数字降序排序

时间:2020-11-07 17:06:08

标签: python

Dict = {'Mango' : ['Green',59], 'Straberry': ['Red',33], 'Melon': ['Yellow',90] }
Dict = {'Melon': ['Yellow',90], 'Mango' : ['Green',59], 'Straberry': ['Red',33] }

如上Melon-Mango_straberry所示,如何按降序对字典字典元素进行降序。

3 个答案:

答案 0 :(得分:0)

您应该知道dict是哈希表,并且不应该包含任何特定顺序。直到Python 3.6都是这样

但是,Python 3.6在其dict中引入了附加功能,该功能保留了插入顺序或键。因此,当您print(your_dict)时,您会确切地看到在your_dict中创建密钥的顺序。

借助此功能,您可以执行以下操作:

>>> Dict = {'Mango' : ['Green',59], 'Straberry': ['Red',33], 'Melon': ['Yellow',90] }
>>> Dict
{'Mango': ['Green', 59], 'Straberry': ['Red', 33], 'Melon': ['Yellow', 90]}
>>> Sorted = {k:Dict[k] for k in sorted(Dict.keys())}
>>> Sorted
{'Mango': ['Green', 59], 'Melon': ['Yellow', 90], 'Straberry': ['Red', 33]}

答案 1 :(得分:0)

尝试按降序排列

dd = {'Mango' : ['Green',59], 'Straberry': ['Red',33], 'Melon': ['Yellow',90] }

ds = {v[0]:v[1] for v in sorted(dd.items(), key=lambda x: -x[1][1])}

print(ds)

输出

{'Melon': ['Yellow', 90], 'Mango': ['Green', 59], 'Straberry': ['Red', 33]}

答案 2 :(得分:0)

除了其他答案-

Dict = sorted(Dict.items(), key=lambda x: x[1][1], reverse=True)

输出

[('Melon', ['Yellow', 90]),
 ('Mango', ['Green', 59]),
 ('Straberry', ['Red', 33])]