@
deepurple 我来填坑: 标准答案是这里
https://docs.python.org/2/faq/programming.html#id40以上都是一些trick
In [1]: mylist = ['a', 'b', 'r', 'a', 'b', 'k', 'v', 'b']
In [2]: %timeit list(set(mylist))
The slowest run took 7.63 times longer than the fastest. This could mean that an intermediate result is being cached
1000000 loops, best of 3: 781 ns per loop
In [3]: %timeit {}.fromkeys(mylist).keys()
The slowest run took 4.30 times longer than the fastest. This could mean that an intermediate result is being cached
1000000 loops, best of 3: 887 ns per loop
In [4]: from collections import OrderedDict
In [5]: %timeit OrderedDict.fromkeys(mylist).keys()
The slowest run took 11.18 times longer than the fastest. This could mean that an intermediate result is being cached
100000 loops, best of 3: 18.5 µs per loop
In [6]: %timeit list({}.fromkeys(mylist))
The slowest run took 5.99 times longer than the fastest. This could mean that an intermediate result is being cached
1000000 loops, best of 3: 995 ns per loop