James Stroud <[EMAIL PROTECTED]> wrote:
...
> def doit(rows, doers, i=0):
> for r, alist in groupby(rows, itemgetter(i)):
> if len(doers) > 1:
> doit(alist, doers[1:], i+1)
> doers[0](r)
Isn't this making N useless slices (thus copies, for most kinds of
sequences) for a doers of length N? Since you're passing i anyway, it
seems to me that:
def doit(rows, doers, i=0):
for r, alist in groupby(rows, itemgetter(i)):
if len(doers) > i+1:
doit(alist, doers, i+1)
doers[i](r)
is equivalent to your code, but avoids these slices (thus copies).
Alex
--
http://mail.python.org/mailman/listinfo/python-list