Дерево в Python довольно просто. Создайте класс, который имеет данные и список дочерних элементов. Каждый дочерний класс является экземпляром того же класса. Это общее n-нарное дерево.
class Node(object):
def __init__(self, data):
self.data = data
self.children = []
def add_child(self, obj):
self.children.append(obj)
Затем взаимодействуйте:
>>> n = Node(5)
>>> p = Node(6)
>>> q = Node(7)
>>> n.add_child(p)
>>> n.add_child(q)
>>> n.children
[<__main__.Node object at 0x02877FF0>, <__main__.Node object at 0x02877F90>]
>>> for c in n.children:
... print c.data
...
6
7
>>>
Это очень базовый скелет, не абстрагированный или что-то в этом роде. Фактический код будет зависеть от ваших конкретных потребностей - я просто пытаюсь показать, что это очень просто в Python.