Как я могу выполнить итерацию в dict, который содержит дочерние элементы, который содержит список, который содержит больше словарей внутри, и добавить значение, если выполняется какое-то условие
Часть словаря, которую я имею, такова:
{
"a": "segments",
"children":
[{"a": 1,
"order": "1",
"price": 1500.0,
"children":
[{
"a": "1.1",
"order": "2",
"price": 75.0,
"children":
[{
"a": "1.1.1",
"order": "3",
"price":100.0
}]
}]
// . . .
},
{"a": n,
"order": "1",
"price": 100.0,
"children":
[{
"a": "n.1",
"order": "2",
"price": 1000.0
}]
}]
}
Я пытался решить эту проблему с помощью различных циклов for в функции, но я не получил желаемого результата.
Что я хочу сделать, так это для каждого ребенка с порядком 1, дойти до последнего ребенка от него и суммировать все цены, затем сделать то же самое для заказа 2 и так до последнего ребенка
Я уже сейчас, что, как это словарь и внутри ключевых детей есть список с большим количеством словарей, я могу сделать несколько циклов, как показано ниже
list_segments = []
first_children = data['children']
for dicts in first_children:
for segment in dicts['children']:
list_segments.append(segment)
Но проблема в том, что яне знаю, как создать функцию, которая будет обращаться к следующему дочернему элементу, проходя через все дочерние элементы до конца.
Требуемый вывод должен быть ключом на всех уровнях, как этот:
level_price: price order 1 +price order 2 + price price order 3
level_price: price order 2 + price price order 3
level_price: price order 3