<p>同时更改的文档(<a href="https://github.com/python/cpython/commit/9b1e92f5a199acf20041372950b96e5896e1b634" rel="nofollow noreferrer">relevant commit</a>)和当前的文档<a href="https://docs.python.org/library/functions.html#sorted" rel="nofollow noreferrer">^{<cd1>}</a>明确地保证:</p>
<blockquote>
<p>The built-in <code>sorted()</code> function is guaranteed to be stable. A sort is stable if it guarantees not to change the relative order of elements that compare equal — this is helpful for sorting in multiple passes (for example, sort by department, then by salary grade).</p>
</blockquote>
<p>这部分文档被添加到Python2.7和Python3.4(+)中,因此该语言版本的任何符合<em>的</em>实现都应该有一个稳定的<code>sorted</code>。</p>
<p>注意,对于CPython,<code>list.sort</code>自<a href="https://www.python.org/download/releases/2.3/highlights/" rel="nofollow noreferrer">Python 2.3</a>以来一直是稳定的</p>
<blockquote>
<ul>
<li>Tim Peters rewrote his <code>list.sort()</code> implementation - this one is a "stable sort" (equal inputs appear in the same order in the output) and faster than before.</li>
</ul>
</blockquote>
<p>我对<code>sorted</code>不是百分之百确定,现在它只是简单地使用<code>list.sort</code>,但我还没有检查历史记录。但很可能它“总是”使用<code>list.sort</code>。</p>