From e38ad9c9ff8a4b404e7d95365fc14e58544f447e Mon Sep 17 00:00:00 2001 From: Code-Apprentice Date: Thu, 14 Sep 2023 14:29:16 -0600 Subject: [PATCH 1/2] Use splat operator instead of tuple unpacking for parameters --- suffixtree.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/suffixtree.py b/suffixtree.py index d7db93c..32a3bb4 100644 --- a/suffixtree.py +++ b/suffixtree.py @@ -13,7 +13,7 @@ def __init__(self, parentkey, outedges, suffixlink=None): def getoutedges(self): return self.outedges - def setoutedge(self, key, (anode, label_start_index, label_end_index, bnode)): + def setoutedge(self, key, anode, label_start_index, label_end_index, bnode): if self.outedges is None: self.outedges = {} self.outedges[key] = (anode, label_start_index, label_end_index, bnode) @@ -114,7 +114,7 @@ def build(chars, regularize=False): aleaf = Node(None, None, None) aedge = (actnode, ind, '#', aleaf) aleaf.setparentkey((actnode, chars[ind])) - actnode.setoutedge(chars[ind], aedge) + actnode.setoutedge(chars[ind], *aedge) else: if actkey == '' and actlen == 0: # compare on node if ch in actnode.getoutedges(): @@ -168,7 +168,7 @@ def unfold(root, chars, ind, remainder, actnode, actkey, actlen): aleaf = Node(None, None, None) aedge = (actnode, ind, '#', aleaf) aleaf.setparentkey((actnode, chars[ind])) - actnode.setoutedge(chars[ind], aedge) + actnode.setoutedge(chars[ind], *aedge) else: # on edge anode, start, end, bnode = actnode.getoutedge(actkey) if remains[actlen_re + actlen] != chars[start + actlen]: @@ -177,13 +177,13 @@ def unfold(root, chars, ind, remainder, actnode, actkey, actlen): newnode = Node(None, None, None) halfedge1 = (actnode, start, start + actlen - 1, newnode) halfedge2 = (newnode, start + actlen, end, bnode) - actnode.setoutedge(actkey, halfedge1) + actnode.setoutedge(actkey, *halfedge1) newnode.setparentkey((actnode, actkey)) - newnode.setoutedge(chars[start + actlen], halfedge2) + newnode.setoutedge(chars[start + actlen], *halfedge2) aleaf = Node(None, None, None) aedge = (newnode, ind, '#', aleaf) aleaf.setparentkey((newnode, chars[ind])) - newnode.setoutedge(chars[ind], aedge) + newnode.setoutedge(chars[ind], *aedge) else: return remainder, actnode, actkey, actlen if prenode is not None and 'aleaf' in locals() and aleaf.getparenkey()[0] is not root: From 2a69de0733643083c575bf7cc19c58b642f28fe8 Mon Sep 17 00:00:00 2001 From: Code-Apprentice Date: Thu, 14 Sep 2023 14:30:21 -0600 Subject: [PATCH 2/2] Make print() a function call instead of a statement --- suffixtree.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/suffixtree.py b/suffixtree.py index 32a3bb4..6f3390b 100644 --- a/suffixtree.py +++ b/suffixtree.py @@ -72,19 +72,19 @@ def __draw__(rnode, chars, v, ed='#'): linkid = '->' + str(node.getsuffixlink().getid()) if v == 0: - print " " * maxlen * v + '|' - print " " * maxlen * v + '|' + ' ' * 3 + chars[s:t + 1] - print '+' + " " * maxlen * v + '-' + '-' * (maxlen - 1) + '● ' + '(' + str(node.getid()) + linkid + ')' + print(" " * maxlen * v + '|') + print(" " * maxlen * v + '|' + ' ' * 3 + chars[s:t + 1]) + print('+' + " " * maxlen * v + '-' + '-' * (maxlen - 1) + '● ' + '(' + str(node.getid()) + linkid + ')') else: - print '|' + " " * maxlen * v + '|' - print '|' + " " * maxlen * v + '|' + ' ' * 3 + chars[s:t + 1] - print '|' + " " * maxlen * v + '+' + '-' * (maxlen - 1) + '● ' + '(' + str(node.getid()) + linkid + ')' + print('|' + " " * maxlen * v + '|') + print('|' + " " * maxlen * v + '|' + ' ' * 3 + chars[s:t + 1]) + print('|' + " " * maxlen * v + '+' + '-' * (maxlen - 1) + '● ' + '(' + str(node.getid()) + linkid + ')') if node.getoutedges() is not None: Node.__draw__(node, chars, v + 1, ed) @staticmethod def draw(root, chars, ed='#'): - print '\n', chars, '\n● (0)' + print('\n', chars, '\n● (0)') v = 0 Node.__draw__(root, chars, v, ed)