jweinst1
12/13/2015 - 9:23 AM

statementtrie.py

statementtrie.py

#word trie for look up and spell check

class wordtrie (object):
	
	def __init__(self):
		self.trie = {}
	def __repr__(self):
		return str(self.trie)
	def __str__(self):
		return str(self.trie)
	def __getitem__(self, i):
		letters = list(i)
		current = self.trie
		while len(letters) > 0:
			char = letters.pop(0)
			if char in current.keys():
				current = current[char]
			else:
				raise IndexError('Word not found')
		return current
	def statement(self, phrase):
		words = list(phrase)
		current = self.trie
		while len(words) > 0:
			word = words.pop(0)
			if word in current.keys():
				current = current[word]
			else:
				current[word] = {}
				current = current[word]
	def addwordlist(self, words):
		for elem in words:
			self.statement(elem)
	def isword(self, word):
		words = list(word)
		current = self.trie
		while len(words) > 0:
			letter = words.pop(0)
			if letter in current.keys():
				current = current[letter]
			else:
				return False
		return True