Brian Allen Vanderburg II wrote: >> def flatten(x): >> res = [] >> for el in x: >> if isinstance(el,list): >> res.extend(flatten(el)) >> else: >> res.append(el) >> return res
> > I think it may be just a 'little' more efficient to do this: > > def flatten(x, res=None): > if res is None: > res = [] > > for el in x: > if isinstance(el, (tuple, list)): > flatten(el, res) > else: > res.append(el) > > return res Hmm why should it be more efficient? extend operation should not be very costly? Regards, mk -- http://mail.python.org/mailman/listinfo/python-list