# scipy.cluster.hierarchy.ClusterNode.pre_order

ClusterNode.pre_order(func=<function ClusterNode.<lambda>>)

  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.

scipy.cluster.hierarchy.ClusterNode.is_leaf scipy.cluster.hierarchy.leaves_list