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