TreeNode.
find_all
(name)[source]¶Find all nodes that match name
State: Experimental as of 0.4.0.
The first call to find_all will cache all nodes in the tree on the assumption that additional calls to find_all will be made.
Parameters: | name (TreeNode or str) – The name or node to find. If name is TreeNode then all other nodes with the same name will be returned. |
---|---|
Raises: | MissingNodeError – Raises if the node to be searched for is not found |
Returns: | The nodes found |
Return type: | list of TreeNode |
See also
Examples
>>> from skbio.tree import TreeNode
>>> tree = TreeNode.read(["((a,b)c,(d,e)d,(f,g)c);"])
>>> for node in tree.find_all('c'):
... print(node.name, node.children[0].name, node.children[1].name)
c a b
c f g
>>> for node in tree.find_all('d'):
... print(node.name, str(node))
d (d,e)d;
<BLANKLINE>
d d;
<BLANKLINE>