擅长:python、mysql、java
<p><code>sort</code>是此操作的O(n)<sup></sup>,因此它的时间复杂度与没有2或3个函数查找的另一个答案相同。如果“string2”不在列表中,则没有错误</p>
<pre><code>>>> lst = ['string1', 'string2', 'string3']
>>> lst.sort(key='string2'.__eq__)
>>> lst
['string1', 'string3', 'string2']
</code></pre>
<p>您可以使用相同的技巧将所有“string2”移动到列表的末尾。或者更一般地说是一个完整的类别,例如将从<code>string</code>开始的所有内容移动到列表的末尾:</p>
<pre><code>lst.sort(key=lambda s:s.startswith('string'))
</code></pre>
<hr/>
<p>~Timsort认为这是一个最大值为3“运行”,Timsort是一个稳定的排序</p>