#### Previous topic

scipy.cluster.hierarchy.ClusterNode.is_leaf

#### Next topic

scipy.cluster.hierarchy.leaves_list

# scipy.cluster.hierarchy.ClusterNode.pre_order

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

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