On 4/15/07, SevenInchBread [EMAIL PROTECTED] wrote:
So I've cooked up some very simple functions to add to functools - to expand
it into a more general-purpose module.
def cat(x): return x
class nullfunc(object):
def __call__(self, *args, **kargs): return self
def __getattr__(self, name):return getattr(None, name)
def multimap(func, seq, n=2):
assert n 0, n must be positive
if n == 1: return map(func, seq)
else: return map(lambda x: multimap(func, x, n-1), seq)
def multifilter(func, seq, n=2):
return multimap(lambda x: filter(func, x), seq, n-1)
def multireduce(func, seq, n=2):
return multimap(lambda x: reduce(func, x), seq, n-1)
-0 for cat (renamed to 'identity'), -1 for the rest.
I've occasionally wanted multimap but only in the default
case where it is simpler to be explicit.
--
Paul Hankin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com