On 16/06/13 18:20, Timo wrote:

items = get_items() # returns a generator
for item in items:
     print(item)
     children = get_children(item) # also returns a generator
     for child in children:
         print("--", child)

This is fine as it will get the children for each parent item. I can't
seem to figure out how to go further and get the chidren of the children
and so on.

Presumably you can call get_children on each child?

      children = get_children(item) # also returns a generator
      for child in children:
          grandchildren = get_children(child)

If you don't know how many levels it goes down the normal approach is to use recursion to define a function that get called until the result is empty. If there are too many layers for recursion then you will need to keep a flag to count the layers and create/manage the heirarchy pointer for you.

HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to