У меня есть вложенное Dict, как это, но гораздо больше:Альтернатива использованию deepcopy для вложенных словарей?
d = {'a': {'b': 'c'}, 'd': {'e': {'f':2}}}
Я написал функцию, которая принимает словарь и путь ключей в качестве входных данных и возвращает значение, связанное с этим путем.
>>> p = 'd/e'
>>> get_from_path(d, p)
>>> {'f':2}
Как только я получу вложенный словарь, мне нужно будет его изменить, однако d не может быть изменен. Нужно ли использовать deepcopy, или есть более эффективное решение, которое не требует постоянного копирования копий словаря?
Является ли ваше возражение против метода глубокой печати только по эффективности? Является ли это критически важной частью вашего кода, где это вызовет проблему? – SethMMorton
После того, как вы найдете вложенный словарь, вам нужно его только скопировать. Поэтому я не уверен, что подразумевается под «требованием постоянного создания копий словаря»? – Karin
@SethMMorton Совсем нет. Очевидно, что более эффективное решение всегда лучше, но мое главное возражение состоит в том, что я не хочу импортировать модуль копирования. – Bretsky