Мне трудно создать словарь родительских дочерних флагов.
У меня есть словарь, подобный следующему:
d = {
'A': ['Blue'],
'B': ['A'],
'C': ['A'],
'D': ['C'],
}
Это моя логика или мыслительный процесс: если ключявляется 'Blue'
, это родитель и получает флаг 0
.Если value
находится в d.keys()
, он получает флаг 1
.То, где я застреваю, находится на внуках.Вот код, который у меня есть сейчас, и это результат того, что я уже много часов бьюсь головой о фигуративную стену.
level = 0
while level < 1000:
for key, value in d.items():
if value[0] == 'Set':
if len(value) == 1:
value.extend([level])
elif len(value) >= 2:
continue
elif value[0] in d.keys():
value.extend([level])
level += 1
Результат:
A: ['Blue', 0]
B: ['A', 1]
C: ['A', 2]
D: ['D', 3]
D
является внуком C
и должен иметь флаг 2
, а C
является потомкомA
и должно иметь значение 2
, как и у другого ребенка, B
.
Цель этого - создать правильные флаги независимо от того, сколько у них уровней внуков или правнуков.
Большей картиной здесь является использование этих данных для вставки вложенных циклов.У меня есть странная база данных, и я должен использовать определенный проприетарный модуль для перебора справочных таблиц, которые доступны для меня через атрибуты класса.Итак, код будет
while parent:
...block of code for parent...
...insert same structure here if not the parent...
...statement at end of parent block...
Итак, дочерний цикл может выглядеть так:
while parent:
...block of code for parent...
while child:
...block of code for child...
...variable for block insertion...
...statement at end of child block...
...statement at end of parent block...
...statement at end of parent/child block...
аналогичен next()
, но с использованием проприетарного модуляМне нужно использовать для этого.
Итак, mapper должен использоваться для того, чтобы программа знала, сколько вложенных циклов while нужно создать с использованием этой структуры.Я не вставлял вложенные блоки, но знаю, что это можно сделать.:)
Мне бы очень хотелось узнать у кого-то, кто может объяснить, как создать часть картографа.
Спасибо!