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