Помогите с рекурсией, пока изучаю не вник...
Есть список словарей [products], в каждом словаре есть вложенный список [products], который в свою очередь так же имеет (а может и не имеет вложенный список [products]).
Необходимо вывести на печать название каждого элемента текущего [products] и родительского [products]. Если в циклах, это примерно выглядит так:
for prod in products:
if len(prod['products']) == 0:
print(main_name['name'])
else:
for y in prod['products']:
if len(y['products']) == 0:
print(main_name['name'], y['name'])
else:
for x in y['products']:
if len(x['products']) == 0:
print(y['name'], x['name'])
else:
for w in x['products']:
if len(w['products']) == 0:
print(y['name'], w['name'])
else ...
Уровень вложенности ['products'] не известен, как оформить это в виде рекурсии?
я пробую:
def search_prod(obj):
if len(obj['products']) == 0:
return obj['name']
for y in obj['products']:
search_prod(y)
for i in products:
print(search_prod(i))
Но получают None (кроме случаев когда в первом вхождении len(prod['products']) == 0)