skbio.tree.TreeNode.find_by_func#

TreeNode.find_by_func(func)[source]#

Find all nodes given a function.

This search method is based on the current subtree, not the root.

Parameters:
funca function

A function that accepts a TreeNode and returns True or False, where True indicates the node is to be yielded

Yields:
TreeNode

Node found by func.

Examples

>>> from skbio import TreeNode
>>> tree = TreeNode.read(["((a,b)c,(d,e)f);"])
>>> func = lambda x: x.parent == tree.find('c')
>>> [n.name for n in tree.find_by_func(func)]
['a', 'b']