When a leaf node is first encountered, func is called with
the leaf node as its argument, and its result is appended to
the list.

For example, the statement:

ids=root.pre_order(lambdax:x.id)

returns a list of the node ids corresponding to the leaf nodes
of the tree as they appear from left to right.

Parameters :

func : function

Applied to each leaf ClusterNode object in the pre-order traversal.
Given the i’th leaf node in the pre-ordeR traversal n[i], the
result of func(n[i]) is stored in L[i]. If not provided, the index
of the original observation to which the node corresponds is used.