擅长:python、mysql、java
<p>最短的方法是:</p>
<pre><code>>>> sorted(sorted(b), key=b.get, reverse=True)
['d', 'a', 'b', 'c']
</code></pre>
<p>因此,按自然顺序(键顺序)对序列排序一次,然后对值进行反向排序。在</p>
<p>注意,如果字典很大,因为它执行两个完整的排序,那么它的运行时间不会最快,但实际上它可能是最简单的,因为您希望值降序,键升序。在</p>
<p>它起作用的原因是Python保证排序是稳定的。这意味着,当键相等时,原始顺序将保持不变,因此,如果您从最后一个键到第一个键重复排序,您将获得所需的结果。另外,<code>reverse=True</code>不同于仅仅反转输出,因为它也尊重稳定性,并且只在键不同的地方反转结果。在</p>