Simple tree struct with search and traversal utilities
Project description
SearchableTree
Simple list intended for simplifying traversal & node search Does not support deletion
Example:
tree = SearchableTree("root", SearchableNode)
root = tree.root()
l1 = root.appendChild('l1')
l11 = root.appendChild('l11')
l12 = root.appendChild('l12')
l2 = root.appendChild('l2')
l21 = root.appendChild('l21')
l22 = root.appendChild('l22')
root.upsert("l1.l11.l111")
root.upsert("l1.l11.l112")
for el in root.traverse(): #Traverse all nodes
print(el)
print(tree) #Pretty print tree
print(tree.find("l112")) #Get node by name
print(tree.find("root.l1.l11")) #Get node by path
for el in l2.ancestors(): #Get node ancestors
print(el)
Extend SearchableNode to add custom funcionality
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
SearchableTree-1.0.4.tar.gz
(3.2 kB
view hashes)
Built Distribution
Close
Hashes for SearchableTree-1.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e162a310ac68742ca909654ca09e96850503acd87da9c9d397c29cb450c0b504 |
|
MD5 | d89becad3ff458f6e767c7ee65bd1100 |
|
BLAKE2b-256 | d88e3f3d0b0ccc6d4456e90a649ad24e32353b01a05ba52b793a3be1c3ee93c8 |