I am writing a script in which i have to test numbers against a number of conditions. If any of the conditions are met i want to return True
and i want to do that the fastest way possible.
My first idea was to use any()
instead of nested if
statements or multiple or
linking my conditions. Since i would be satisfied if any of the conditions were True
i could really benefit from any()
being lazy and returning True as soon as it could.
Based on the fact that the following print happens instantly and not after 10 (= 0 + 1 + 2 + 3 + 4) seconds i assume it is. Is that the case or am i somehow mistaken?
import time
def some(sec):
time.sleep(sec)
return True
print(any(some(x) for x in range(5)))