On 05/08/2010 10:33 PM, 3Jane wrote:
You could interpret [[1,2,3,4],[5,6,7,8]] as a tree and
your task as traversal of its leaves. All solutions before
would not work with trees with bigger height.

Here is how to traverse such trees recursively:

def eventualPrint(x):
     for v in x:
         if isinstance(v, list): eventualPrint(x)
         else: print(v)

Then eventualPrint(a) does the job.

Caveat:  ...but wanders off into the bushes for recursive lists :)

  x = [1,2,3]
  x.append (x)
  eventualPrint(x)

Not a particular concern in this case since I'm now two levels of hypothetical removed from the OP's question (from flatten one layer to recursively flattening arbitrary nestings to recursively flattening arbitrary & self-referential nestings)...

For the record, I'm in the itertools camp of proposed solutions to the OP's question.

-tkc


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to