TIM*_*MEX 0 python sorting dictionary tuples
我有一本字典如下:
{'aapl': 4.0,
'abandon': 4.0,
'absenc': 3.0,
'accept': 1.0,
'access': 3.0,
'accessori': 4.0,
'accord': 3.0,
'achiev': 1.0,
'acquir': 1.5,
'acquisit': 2.3333333333333335,
'across': 5.0,
'activ': 2.0,
'ad': 2.2692307692307692,
'add': 2.5,
'addit': 2.8333333333333335,
}
Run Code Online (Sandbox Code Playgroud)
如何按分数(降序)显示它们?
我听说有一种方法可以通过元组或其他东西来实现吗?
>>> D={'aapl': 4.0,
... 'abandon': 4.0,
... 'absenc': 3.0,
... 'accept': 1.0,
... 'access': 3.0,
... 'accessori': 4.0,
... 'accord': 3.0,
... 'achiev': 1.0,
... 'acquir': 1.5,
... 'acquisit': 2.3333333333333335,
... 'across': 5.0,
... 'activ': 2.0,
... 'ad': 2.2692307692307692,
... 'add': 2.5,
... 'addit': 2.8333333333333335,
... }
>>> sorted(D, key=D.get, reverse=True)
['across', 'aapl', 'accessori', 'abandon', 'accord', 'access', 'absenc', 'addit', 'add', 'acquisit', 'ad', 'activ', 'acquir', 'accept', 'achiev']
>>>
Run Code Online (Sandbox Code Playgroud)
如果你也想要这些值,
>>> from operator import itemgetter
>>> sorted(D.items(), key=itemgetter(1), reverse=True)
[('across', 5.0), ('aapl', 4.0), ('accessori', 4.0), ('abandon', 4.0), ('accord', 3.0), ('access', 3.0), ('absenc', 3.0), ('addit', 2.8333333333333335), ('add', 2.5), ('acquisit', 2.3333333333333335), ('ad', 2.2692307692307692), ('activ', 2.0), ('acquir', 1.5), ('accept', 1.0), ('achiev', 1.0)]
Run Code Online (Sandbox Code Playgroud)