任何人都可以帮助理解为什么会发生这种情况吗?
将set
转换为list
所需的时间与预期长度成正比。除非其长度为1。然后,它的速度比2,3和4个元素慢。
要演示,请在IPython中运行以下命令:
for i in range(1, 7):
s = set(range(i))
print('%s elements:' % i)
%timeit list(s)
1 elements:
1000000 loops, best of 3: 187 ns per loop
2 elements:
10000000 loops, best of 3: 170 ns per loop
3 elements:
10000000 loops, best of 3: 174 ns per loop
4 elements:
10000000 loops, best of 3: 179 ns per loop
5 elements:
10000000 loops, best of 3: 182 ns per loop
6 elements:
1000000 loops, best of 3: 202 ns per loop
我正在使用python2.7。