Добавление слов в класс Tr ie в Python - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть небольшая проблема с функцией здесь. Я хочу, чтобы функция потребляла строку и 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})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...