# 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.