擅长:python、mysql、java
<p>我的看法:</p>
<pre><code>def prepare_stable_sort(x):
return (x.casefold(), id(x))
list(sorted(l1, key=prepare_stable_sort))
list(sorted(l2, key=prepare_stable_sort))
</code></pre>
<p>这将使用普通的<code>casefold</code>,但也添加哈希,以区分<code>casefold</code>给出相同结果的情况。注意:这仅在同一处理器上是稳定的。为了消除散列攻击,我认为现在散列是部分随机的</p>
<p>对于一个完整的解决方案,我将使用Unicode字符串比较(因此它适用于所有地区,但也是以一种合理的方式,尽管对于特定语言不是100%正确),并且我还将添加一个可复制的哈希函数</p>