|
|
|
|
|
by knappa
1024 days ago
|
|
I would read all more formally as: for each element in this list, the element is true. Then you get a vacuous truth. (Think about the negation: there is an element in the list which is false. That's obviously false.) Any would be more formally: there is an element of the list which is true. But the list doesn't have any elements, so that's false. Looks logical to me. Plus you get that `not any( map(lambda x: not x, l) )` is the same as `all(l)` for any list `l`. |
|
It is just a matter of convention and I see no logic behind why any convention would be worse or wrong. But I believe if 'any' implies 'at least one' so should 'all' otherwise they use different conventions.
In practice I get it was arbitrary choices and this is just how you end up when doing the obvious implementation.