Guido,
I think there should be a PEP. For instance, I think I'd want them to be:
def any(S): for x in S: if x: return x return S[-1]
def all(S): for x in S: if not x: return x return S[-1]
Or perhaps these should be called "first" and "last".
More precisely (since "S" might be an iterator, or empty):
def any(S):
x = False
for x in S:
if x: break
return xdef all(S):
x = True
for x in S:
if not x: break
return xHowever, "first" and "last" don't make sense to me as names. First what? Last what? Actually, "any" and "all" don't make that much sense to me either. I find myself wanting to call them "or" and "and", or maybe "or_iter" and "and_iter". Or perhaps "until_false" or "until_true". Nah, the and/or names make more sense, as they exactly match the behavior of the corresponding logical operators, if you could call them as a function. At least, if they took *args anyway.
_______________________________________________ Python-Dev mailing list [email protected] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com
