summaryrefslogtreecommitdiff
path: root/collect
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2022-02-22 20:00:15 -0800
committerScott Gasch <[email protected]>2022-02-22 20:00:15 -0800
commitb653a847e35aa0e43f764ab95cf80ab9f4aefcde (patch)
treee8d3e2644eafbcffc8b1e7ba2633f091f755c287 /collect
parente7822aa364fcc392476ded5537948292f7db2300 (diff)
Remove whitespace from trie's repr_brief.
Diffstat (limited to 'collect')
-rw-r--r--collect/trie.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/collect/trie.py b/collect/trie.py
index 70d57b1..fef28cb 100644
--- a/collect/trie.py
+++ b/collect/trie.py
@@ -1,6 +1,11 @@
#!/usr/bin/env python3
-from typing import Any, Sequence
+"""This is a Trie class, see: https://en.wikipedia.org/wiki/Trie.
+
+ It attempts to follow Pythonic container patterns. See doctests
+ for examples."""
+
+from typing import Any, Generator, Sequence
class Trie(object):
@@ -17,6 +22,7 @@ class Trie(object):
self.end = "~END~"
self.length = 0
self.viz = ''
+ self.content_generator: Generator[str] = None
def insert(self, item: Sequence[Any]):
"""
@@ -246,12 +252,11 @@ class Trie(object):
self,
padding: str,
pointer: str,
- parent: str,
node: Any,
has_sibling: bool,
):
if node is None:
- return
+ return ''
if node is not self.root:
ret = f'\n{padding}{pointer}'
if has_sibling:
@@ -276,7 +281,7 @@ class Trie(object):
has_sibling = False
pointer += f'{child}'
child_count -= 1
- ret += self.repr_fancy(padding, pointer, node, node[child], has_sibling)
+ ret += self.repr_fancy(padding, pointer, node[child], has_sibling)
return ret
def repr_brief(self, node, delimiter):
@@ -289,7 +294,7 @@ class Trie(object):
>>> t.insert([10, 10, 10, 1])
>>> t.insert([10, 10, 10, 2])
>>> t.repr_brief(t.root, '.')
- '10.[0.0.[1, 2], 10.10.[1, 2]]'
+ '10.[0.0.[1,2],10.10.[1,2]]'
"""
child_count = 0
@@ -299,11 +304,11 @@ class Trie(object):
child_count += 1
child_rep = self.repr_brief(node[child], delimiter)
if len(child_rep) > 0:
- my_rep += str(child) + delimiter + child_rep + ", "
+ my_rep += str(child) + delimiter + child_rep + ","
else:
- my_rep += str(child) + ", "
+ my_rep += str(child) + ","
if len(my_rep) > 1:
- my_rep = my_rep[:-2]
+ my_rep = my_rep[:-1]
if child_count > 1:
my_rep = f'[{my_rep}]'
return my_rep
@@ -331,7 +336,7 @@ class Trie(object):
└──2
"""
- return self.repr_fancy('', '*', self.root, self.root, False)
+ return self.repr_fancy('', '*', self.root, False)
if __name__ == '__main__':