SciPy

scipy.cluster.hierarchy.ClusterNode.pre_order

ClusterNode.pre_order(func=<function ClusterNode.<lambda>>)[source]

Perform pre-order traversal without recursive function calls.

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(lambda x: 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.

Returns:
L : list

The pre-order traversal.