У меня есть небольшая проблема с функцией здесь. Я хочу, чтобы функция потребляла строку и Tr ie и добавляла строку в Tr ie. Например:
T = Trie({})
trie_insert('hi',T) => None
T == Trie({'h' : Trie({'i': Trie({'': None})})})
trie_insert('ha',T) => Trie({'h' : Trie({'a' : Trie({'':None}),
'i' : Trie({'i':Trie('': None})})})})
Вот фрагмент кода, который у меня есть для класса, и что у меня есть для trie_insert
.
class Trie:
def __init__(self, data):
self.data = data
def __repr__(self):
return 'Trie({})'.format(self.data)
def trie_insert(string,trie):
if string == '':
trie.data[''] = None
elif string[0] in trie.data:
trie_insert(string[1:],trie.data[string[0]])
else:
trie.data[string[0]] = Trie({'':None})
trie_insert(string[1:],trie.data[string[0]])
Проблема, с которой я столкнулся, с утверждением else я верю. Что я могу сделать, чтобы решить проблему дополнительного:
Trie({'':None})