I searched for understanding about the all
function in Python, and I found this, according to here:
all
will returnTrue
only when all the elements are Truthy.
But when I work with this function it's acting differently:
'?' == True # False
'!' == True # False
all(['?','!']) # True
Why is it that when all elements in input are False
it returns True
? Did I misunderstand its functionality or is there an explanation?
only when all the elements are Truthy.
Truthy != True
.
all
essentially checks whether bool(something)
is True
(for all something
s in the iterable).
>>> "?" == True
False
>>> "?" == False # it's not False either
False
>>> bool("?")
True
'?' and '!' are both truthy since they are non-empty Strings.
There's a difference between True
and "truthy". Truthy means that when coerced, it can evaluate to True
. That's different from it being ==
to True
though.
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