им, глядя на следующей реализации синтаксического дерева в Python:Trie в питона, ссылка на объект
tree = {}
def add_to_tree(root, value_string):
for character in value_string:
root = root.setdefault(character, {})
def main():
tree={}
add_to_tree(tree, 'abc')
print tree
if __name__=="__main__":
main()
Что не ясно мне:
почему это возвращение
{a:{b:{c:{}}}}
вместо{a:{},b:{},c:{}}
?Я проверил код через this, который дает визуализацию. После повторения, хотя «a» я получаю
tree = {'a':{}}, root = {}
, то после «b» я получаюtree = {a:{b:{}}}, root={}
. Неясно, какая переменная содержит ссылку на{b:{}}
, которая присваивается{a:{}}
, чтобы изменить ее на{a:{b:{}}}
?