How to return ‘false’ because all elements are ‘false’?
The given list is:
data = [False, False, False]
False, False, False] not any(data) Truedata = [
any will return True if there’s any truth value in the iterable.
Basically there are two functions that deal with an iterable and return True or False depending on which boolean values elements of the sequence evaluate to.
all(iterable)returns True if all elements of the
iterableare considered as true values (like
any(iterable)returns True if at least one element of the
iterableis a true value (again, using functional stuff,
all function, you can map
operator.not_ over your list or just build a new sequence with negated values and check that all the elements of the new sequence are true:
all(not element for element in data)
any function, you can check that at least one element is true and then negate the result since you need to return
False if there’s a true element:
According to De Morgan’s law, these two variants will return the same result, but I would prefer the last one (which uses
any) because it is shorter, more readable (and can be intuitively understood as “there isn’t a true value in data”) and more efficient (since you don’t build any extra sequences).
Come on, guys, he asked for returning True whether there was any True.
Saying the same, False when all are False.