Я пытаюсь понять, почемуИспользование цикла для .setdefault на Dict Создает вложенную Dict
tree = {}
def add_to_tree(root, value_string):
"""Given a string of characters `value_string`, create or update a
series of dictionaries where the value at each level is a dictionary of
the characters that have been seen following the current character.
"""
for character in value_string:
root = root.setdefault(character, {})
add_to_tree(tree, 'abc')
создает {'a': {'b': {'c': {}}}}
в то время как
root = {}
root.setdefault('a', {})
root.setdefault('b', {})
root.setdefault('c', {})
создает {'a': {}, 'b': {}, 'c': {}}
Что такое вводя в назначенное значение dict на каждой итерации цикла?
Ваша вторая часть кода не дает результата, который вы требуете, если я скопирую его в мой интерпретатор python, я получаю пустой запрос. Что вы хотите, чтобы ваш конечный результат искал, можете ли вы опубликовать это? – dtheodor
@dtheodor спасибо, человек. наклеил неправильный код. обновлено. – MikeiLL