, .
- :
['t1', ['c1', 'p1', ['c2', 'p2', 'p3']], ['c3', ['c4', 'p4', 'p5'], ['t2', ['c5', 'p6', 'p7'], 'p8']]]
:
BASE := [node_name, left, right]
:
node_name ( )left right -
a BASE ( , c, t
node) node name ( ,
)
OrderedDict, IMO:
In [26]: from collections import OrderedDict as OD
In [27]: tree = OD((('name', 't1'), ('left', 'c1'), ('right', OD((('name', '...'),)) )))
In [28]: tree
Out[28]:
OrderedDict([('name', 't1'),
('left', 'c1'),
('right', OrderedDict([('name', '...')]))])
, :
class Node:
type = ''
left = None
right = None