【发布时间】:2014-09-25 13:37:12
【问题描述】:
python 这两种从列表中获取集合的方式哪一种效率更高?
a)set([1,2,3])
b){s for s in [1,2,3]}
说实话,无论如何,第二种方式对我来说有点奇怪。
falsetru 的提示我试过了:
andi$ python -m timeit '{s for s in [1,2,3]}'
1000000 loops, best of 3: 0.619 usec per loop
andi$ python -m timeit 'set(s for s in [1,2,3])'
1000000 loops, best of 3: 0.911 usec per loop
我使用{} 获得了更好的构造结果。只有在没有任何列表推导的情况下直接传递数组时,set([]) 的构造才能更好地执行。
{} 在 OS X 和某些 EC2 Linux Ubuntu 14.04 LTS 上获得的结果更好
【问题讨论】:
标签: python list python-2.7 set