Em Ter, 2006-03-14 às 04:23 -0800, [EMAIL PROTECTED] escreveu: > def andmap(b,L): > if False in map(b,L): return False > else: return True > > def ormap(b,L): > if True in map(b,L): return True > else: return False > > Is this good enough?
The problem is that it will evaluate all possibilities needlessly. Try (not tested and 2.4-only): def andmap(func, objs): for boolean in (func(obj) for obj in objs): if not boolean: return False return True def ormap(func, objs): for boolean in (func(obj) for obj in objs): if boolean: return True return False -- "Quem excele em empregar a força militar subjulga os exércitos dos outros povos sem travar batalha, toma cidades fortificadas dos outros povos sem as atacar e destrói os estados dos outros povos sem lutas prolongadas. Deve lutar sob o Céu com o propósito primordial da 'preservação'. Desse modo suas armas não se embotarão, e os ganhos poderão ser preservados. Essa é a estratégia para planejar ofensivas." -- Sun Tzu, em "A arte da guerra" -- http://mail.python.org/mailman/listinfo/python-list