У меня есть словарь, в котором есть список родительских и дочерних узлов, связанных с каждым узлом (ссылка на словарь в коде). Я введу одну клавишу (для следующей части кода B
это ключ). Я должен держать родительский узел во внимание. Для B
мне нужны пути как [B, C, C1, X], [B, C, C2], [B, D, D1], [B, D, D2] .
Вывод для следующего куска кода, который я получаю:
C ['C1', 'C2']
C1 ['X']
Также я получаю следующую ошибку:
Файл "", строка 7, в path_find
если d [i] ['parent'] == [ключ]:
KeyError: 'X'
def path_find(graph,key):
x = d[key]['child']
for i in x:
if d[i]['parent'] == [key]:
print(i,d[i]['child'])
path_find(d,i)
d = {'B':{
'parent' : ['A'],
'child': ['C','D']},
'C':{
'parent' : ['B'],
'child' : ['C1','C2']},
'D':{
'parent' : ['B'],
'child': ['D1','D2']},
'C1':{
'parent' : ['C'],
'child': ['X']}}
key = 'B'
path_find(d,key)
Ожидаемый результат: [B, C, C1, X], [B, C, C2], [B, D, D1], [B, D, D2]
фактический вывод:
C ['C1', 'C2']
C1 ['X']