Tim Peters wrote: >>In the all() example, if there *are* no values in S, then none of the >>values can be != 0, and IMHO all() should return False. > > > That would break everything mentioned above. Think of it another way: > if all(seq) is false, shouldn't it be the case that you can point to > a specific element in seq that is false?
Think of it this way: if all(seq) is true, shouldn't it be the case that you can point to a specific element in seq that is true? It may be that all([]) => True is useful more often than all([]) => False would be, in the same way that it is useful to define 0! = 1 and other mathematical identities, but that doesn't imply that, strictly speaking, there isn't some monkey-business going on there. Now, I'm happy to admit that this is useful monkey-business, but it can still lead to unexpected results, as in my example in a previous post. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list