У меня есть дикт следующим образом
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3",
"key4" : {
"key5" : "value5"
}
}
Если в dict есть key1 == value1, я добавлю dict в список.
Предположим, что ключ1==значение1 отсутствует в первой паре ключ-значение, тогда как он находится внутри вложенного словаря следующим образом:
{
"key2" : "value2",
"key3" : "value3",
"key4" : {
"key5" : "value5",
"key1" : "value1",
"key6" : {
"key7" : "value7",
"key1" : "value1"
}
},
"key8" : {
"key9" : "value9",
"key10" : {
"key11" : "value11",
"key12" : "value12",
"key1" : "value1"
}
}
}
В приведенном выше словаре я должен сначала проверить, есть ли key1 = value1. Если нет, я должен просмотреть вложенный словарь, и если он найден во вложенном словаре, я должен добавить этот словарь в список. Если вложенный словарь также является вложенным словарем, но ключ1=значение1 находится в первой паре значений ключа, то нет необходимости проверять внутренний словарь (например, ключ4 имеет ключ1=значение1 в первой паре значений ключа. Следовательно, нет необходимости проверьте внутренний, хотя key6 имеет key1 = value1).
Итак, наконец, у меня будет следующий список.
[
{
"key5" : "value5",
"key1" : "value1",
"key6" : {
"key7" : "value7",
"key1" : "value1"
}
},
{
"key11" : "value11",
"key12" : "value12",
"key1" : "value1"
}
]
Как этого добиться? Примечание. Глубина словаря может варьироваться.