If you have a list such as this:
foo_list = [x for x in xrange(2, 2000000000, 2)] ## [2, 4, 6, 8, ...]
And you want to check if an element is inside it, then the following operation needs to do 1 billion comparisons:
x = 3
if x in foo_list:
pass
However, since we know that foo_list
is sorted, we can evaluate the conditional after two comparisons (at most).
Is there a Pythonic way to take advantage of this behavior? I'm wondering if there's a built-in way to tell the program that we're looking for an element in a sorted list:
x = 3
if is_in(x, foo_list, sorted=True)
pass