On Thu, Jan 15, 2009 at 8:32 AM, dpapathanasiou <denis.papathanas...@gmail.com> wrote: (...)
> It's not exactly right for what I'm doing, b/c the caller always > expects a list in return. How about this then: def get_prior_versions (item_id, priors=None): """Return a list of all prior item ids starting with this one""" global history_db # key = item id, value = prior item id prior_id = history_db[item_id] if not prior_id: if priors: return priors or [] else: if priors: priors.append(prior_id) else: priors = [prior_id] return get_prior_versions(prior_id, priors) By the way, this is a really badly written function for 2 reasons: a) a global should and need not be used. b) this function could be rewritten without recursion. cheers James -- http://mail.python.org/mailman/listinfo/python-list