擅长:python、mysql、java
<p>没有<code>OrderedDict</code>和使用<code>set</code>也保持输出顺序</p>
<pre><code>x = ['AAB', 'CAA', 'ADA', 'CADA', 'AACA']
["".join([z.add(c) or c for c in w if c not in z]) for w, z in [(w, set()) for w in x]]
</code></pre>
<p>输出:</p>
<pre><code>['AB', 'CA', 'AD', 'CAD', 'AC']
</code></pre>
<p>列表理解实际上为每个单词填充了一个集合,因此复杂性不会增加</p>