<p>这是一个解决方案,可能是因为列表排序是<a href="https://en.wikipedia.org/wiki/Sorting_algorithm#Stability" rel="nofollow noreferrer">stable</a>。我稍微修改了数据以证明它是有效的。在</p>
<p>这个方法在<a href="https://docs.python.org/3.6/howto/sorting.html#sort-stability-and-complex-sorts" rel="nofollow noreferrer">Python documentation</a>中也有规定。在</p>
<pre><code>myDict = {
'SER12346': {'serial_num': 'SER12346', 'site_location': 'North America'},
'ABC12346': {'serial_num': 'ABC12345', 'site_location': 'Europe'},
'ABC12345': {'serial_num': 'ABC12345', 'site_location': 'South America'},
'SER12345': {'serial_num': 'SER12345', 'site_location': 'North America'},
'SER12347': {'serial_num': 'SER12347', 'site_location': 'South America'}
}
result = sorted(myDict.items(), key=lambda x: x[1]['site_location'], reverse=True)
result = sorted(result, key=lambda x: x[1]['serial_num'])
# [('ABC12345', {'serial_num': 'ABC12345', 'site_location': 'South America'}),
# ('ABC12346', {'serial_num': 'ABC12345', 'site_location': 'Europe'}),
# ('SER12345', {'serial_num': 'SER12345', 'site_location': 'North America'}),
# ('SER12346', {'serial_num': 'SER12346', 'site_location': 'North America'}),
# ('SER12347', {'serial_num': 'SER12347', 'site_location': 'South America'})]
</code></pre>