I need this a lot: a one line way to do a n-ary and or 'or'.

e.g.,

result = True
for x in L:
  if not boolean_function(x):
    result = False

or

>>> reduce(operator.__and__, [boolean_function(x) for x in L)

So usually I just write a little function any( L, boolean_function =
identity ) or all( ... ).  But I am kind of sick of doing that all the
time -- does it exist anywhere in the Python libraries?  It seems really
common to me.

The first way isn't satisfactory because it takes so many lines for what is
essentially one "primitive" operation.  The second way isn't great because
it is not as readable and many readers don't like to see reduce, even if it
is a common idiom like that.  Also I don't believe it short circuits.





-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to