#### 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> at 0x4464164c>)

  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.