arr_zero() 3.09944152832e-06
arr_mo() 0.231142997742
arr_rand() 0.158629894257
set_zero() 1.32316207886
set_mo() 1.25001001358
set_rand() 1.29158496857
from random import random
a = [0] + [random() for _ in range(1000000)]
def arr_zero():
return 0 in a;
def set_zero():
return 0 in set(a);
def arr_mo():
return -1 in a;
def set_mo():
return -1 in set(a);
if __name__ == "__main__":
import timeit
setup = "from __main__ import arr_zero, arr_mo, set_zero, set_mo"
print "arr_zero()", timeit.timeit("arr_zero()", setup=setup, number=10)
print "arr_mo()", timeit.timeit("arr_mo()", setup=setup, number=10)
print "set_zero()", timeit.timeit("set_zero()", setup=setup, number=10)
print "set_mo()", timeit.timeit("set_mo()", setup=setup, number=10)
arr_zero() 2.86102294922e-06
arr_mo() 0.230477809906
set_zero() 1.32866406441
set_mo() 1.25798487663