擅长:python、mysql、java
<p>使用pandas,从列表中创建一个系列,删除重复项,然后将其转换回列表。在</p>
<pre><code>import pandas as pd
>>> pd.Series(['Herb', 'Alec', 'Herb', 'Don']).drop_duplicates().tolist()
['Herb', 'Alec', 'Don']
</code></pre>
<p><strong>计时</strong></p>
<p>@StefanPochmann的解决方案显然是高重复列表的赢家。在</p>
^{pr2}$
<p>对于没有重复的较大列表(例如简单的一系列数字),pandas解决方案非常快速。在</p>
<pre><code>my_list = range(10000)
%timeit pd.Series(my_list).drop_duplicates().tolist()
# 100 loops, best of 3: 3.16 ms per loop
%timeit list(OrderedDict().fromkeys(my_list))
# 100 loops, best of 3: 10.8 ms per loop
%timeit sorted(set(my_list), key=my_list.index)
# 1 loop, best of 3: 716 ms per loop
</code></pre>