From: Scott Gasch Date: Wed, 23 Feb 2022 04:00:15 +0000 (-0800) Subject: Remove whitespace from trie's repr_brief. X-Git-Url: https://wannabe.guru.org/gitweb/?a=commitdiff_plain;h=b653a847e35aa0e43f764ab95cf80ab9f4aefcde;p=python_utils.git Remove whitespace from trie's repr_brief. --- 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__':