"Peter Otten" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > sufficiently similar
I think I understand your points now. But I wanted to match these cases: >>> import operator >>> reduce(operator.add,[],42) 42 >>> reduce(operator.add,[1],42) 43 The idea is that the i-th yield of i-reduce shd be the result of reduce on seq[:i] with the given initializer. That said, for the applications I first intended, yes it is sufficiently similar. For now, I'll stick with the version below. Thanks, Alan def ireduce(func, iterable, init=None): iterable = iter(iterable) if init is None: init = iterable.next() yield init else: try: init = func(init, iterable.next()) yield init except StopIteration: yield init for item in iterable: init = func(init, item) yield init -- http://mail.python.org/mailman/listinfo/python-list