I have a list containing booleans:
my_list = [False, False, False, True, True, True]
I want to evaluate if for a given tuple with (start, end) indexes the list contains a True value, e.g.
contains_true(my_list, (0,0)) => False
contains_true(my_list, (0,2)) => False
contains_true(my_list, (0,3)) => True
contains_true(my_list, (3,5)) => True
contains_true(my_list, (5,5)) => True
Currently I'm doing this:
def contains_true(my_list, indexes_tuple):
start = indexes_tuple[0]
end = indexes_tuple[1] + 1
indexes = range(start, end)
for i in indexes:
if my_list[i]:
return True
return False
Is there a better way to do this in Python?
>>> my_list = [False, False, False, True, True, True]
>>> def contains_true(seq, bounds):
start, end = bounds
return any(seq[start:end+1])
>>> contains_true(my_list, (0,0))
False
>>> contains_true(my_list, (0,2))
False
>>> contains_true(my_list, (0,3))
True
>>> contains_true(my_list, (3,5))
True
>>> contains_true(my_list, (5,5))
True
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With