小编daf*_*man的帖子

为什么Python的集合差异方法需要时间与空集?

这就是我的意思:

> python -m timeit "set().difference(xrange(0,10))"   
1000000 loops, best of 3: 0.624 usec per loop

> python -m timeit "set().difference(xrange(0,10**4))"
10000 loops, best of 3: 170 usec per loop
Run Code Online (Sandbox Code Playgroud)

显然python遍历整个参数,即使事先知道结果是空集.这有什么好的理由吗?代码在python 2.7.6中运行.

(即使对于非空集,如果您发现在迭代中途已经删除了所有第一组元素,则立即停止是有意义的.)

python performance operators set

13
推荐指数
1
解决办法
818
查看次数

标签 统计

operators ×1

performance ×1

python ×1

set ×1