Grant Edwards wrote: > Python knows how to count. :) > > def countFalse(seq): > return len([v for v in seq if not v]) > > def countTrue(seq): > return len([v for v in seq if v]) > > def truth_test(seq): > return countTrue(seq) == 1 >
I'd suggest the more direct def countFalse(seq) : return sum(1 for v in seq if not v) def countTrue(seq) : return sum(1 for v in seq if v) - not to speak of def countFalse(seq) : return sum(not v for v in seq) def countTrue(seq) : return sum(bool(v) for v in seq) -- http://mail.python.org/mailman/listinfo/python-list