Привет! Есть несколько структур данных, в которых хранятся обычные питонские словари, вида
{"a":1,"b":2}
Структуры разной сложности. Есть, например, просто словарь, который хранит эти маленькие словарики
{"key":{"a":1,"b":2},
"key1":{"a":10,"b":20}}
А есть и всякие сложные штуки типа:
["A",["B",[{"a":1,"b":2},{"a":10,"b":20}]],"A1",["B",[{"a":1,"b":2},{"a":10,"b":20}]]]
Все структуры создаются во время старта приложения. Словарики читаются из базы. Структуры содержат ссылки на эти словарики, так, например, {"a":1,"b":2} сидит ссылкой сразу в нескольких стуктурах. Во время создания очередной структуры выясняется, что словарик {"a":1,"b":2} больше не нужен. Его нужно вынести нах из всех структур где он уже участвует. Вопрос: как это лучше сделать? В смысле, чтоб не проходить заново все эти структуры. Думаю в сторону: сделать этот маленький словарик унаследованным от dict и в каждой коллекции совать ему что? указатель на эту коллекцию? метод, который вынесет этот словарик из нужной коллекции? Спасибо.
|