я смотрел на этот код:реализация Python Trie зачем создавать временную переменную
>>> _end = '_end_'
>>>
>>> def make_trie(*words):
... root = dict()
... for word in words:
... current_dict = root
... for letter in word:
... current_dict = current_dict.setdefault(letter, {})
... current_dict = current_dict.setdefault(_end, _end)
... return root
...
>>> make_trie('foo', 'bar', 'baz', 'barz')
{'b': {'a': {'r': {'_end_': '_end_', 'z': {'_end_': '_end_'}},
'z': {'_end_': '_end_'}}},
'f': {'o': {'o': {'_end_': '_end_'}}}}
по этой ссылке: How to create a TRIE in Python, но я не совсем понимаю, почему автор создает временную переменную current_dict, так как вы всегда просто редактирования словаря под названием корень ...
Я удалил свою совершенно неправильную мысль о том, как работает код, извините! Я все еще думаю, что этот вопрос принадлежит codereview.stackexchange.com. – GreenAsJade
Должен ли я задавать вопросы о реализации там в будущем? если да, то почему? –
StackOverflow предназначен для конкретных вопросов о конкретной проблеме с кодом (более подробную информацию читайте [help]). CodeReview предназначен для запроса информации о том, как код может быть улучшен, и о том, как сделать что-то определенным образом. – GreenAsJade