How set is much much faster in lookup for an element than list, is that something to do with the ordered maintain in list ? or is the lookup algorithm is different in set than list ?
>>> from timeit import Timer
>>> Timer("100042 in L", "L=range(100000)").timeit(number=10000)
21.69940710067749
>>>
>>> Timer("100042 in S", "S=set(range(100000))").timeit(number=10000)
0.0006740093231201172
>>>
Some one pleae point me out any link or algorithm used between the two ?