jwaixs wrote: > Thank you for all your reply and support. Neil's fits the most to me. I > shrinked it to this function: > > def flatten(x): > for i in range(len(x)): > if isinstance(x[i], list): > x[i:i+1] = x[i] > > Thank you all again. If someone could find even a cuter way, I'd like > to see that way. > > Noud Aldenhoven
The recursive generator implementation seems cuter (and I guess more efficient) to me; YMMV: def flatten(x): if not isinstance(x,list): yield x else: for elem in x: for subelem in flatten(elem): yield subelem Or if you want to modify the argument list in place, as in Neil's solution: def flatten_in_place(x): x[:] = flatten(x) George -- http://mail.python.org/mailman/listinfo/python-list