擅长:python、mysql、java
<p>使用list(d).sort(function)无法实现这一点,因为您将得到一个带有字典键的列表。您可以通过其他方法实现您的目标:</p>
<pre><code>l1 = sorted(d.items(), key=lambda x: (x[1], x[0]))
l2 = sorted(l1, key=lambda x: x[1], reverse=True)
result = [x[0] for x in l2]
</code></pre>
<p>此方法将字典转换为(键,值)元组的列表。然后l1按值排序,l2按键排序。因为python有一个稳定的排序算法,所以对于相同的键,值的顺序是保持不变的。在</p>
<p>编辑:Ignacio Vazquez Abrar的方法类似,但更优雅,因为列表只需排序一次。在</p>