On Oct 29, 6:57 pm, GHZ <[EMAIL PROTECTED]> wrote: > Is this the best way to test every item in a list? > > def alltrue(f,l): > return reduce(bool.__and__,map(f,l)) > > def onetrue(f,l): > return reduce(bool.__or__,map(f,l))
Probably not, because it doesn't take advantage of short circuiting. You could bail out of alltrue as soon as the first item you see is false, but your version applies f to every item in the list. I would suggest the most straightforear way is the best: def alltrue(f,l): for item in l: if not f(item): return False return True On Python 2.5, you could do this: all(f(x) for x in l) Carl Banks -- http://mail.python.org/mailman/listinfo/python-list