Ошибка при добавлении ключа / значения в Python Dict во вложенном цикле - PullRequest
0 голосов
/ 22 мая 2019

У меня есть структура Json следующим образом:

 {
   "_id" : ObjectId("asdasda156121s"),
    "Hp" : {
    "bermud" : [ 
        {
            "abc" : {
                "gfh" : 1,
                "fgh" : 0.0,
                "xyz" : [ 
                    {
                        "kjl" : "0",
                        "bnv" : 0,
                    }
                ],
                "xvc" : "bv",
                "hgth" : "INnn",
                "sdf" : 0,
                }
            }
        },
       {
            "abc" : {
                "gfh" : 1,
                "fgh" : 0.0,
                "xyz" : [ 
                    {
                        "kjl" : "0",
                        "bnv" : 0,
                    }
                ],
                "xvc" : "bv",
                "hgth" : "INnn",
                "sdf" : 0,
                }
            }
        },
        ..

Я пытаюсь проанализировать этот json и добавить новое значение с ключом ['cat'] внутри объекта 'xyz' нижемой код py.

data = []

for x in a:
    for y in x['Hp'].values():
        for z in y:
            for k in z['abc']['xyz']:
                for m in data:
                    det = m['response']
                    // Some processing with det whose output is stored in s 
                    k['cat'] = s
    print x

Однако, когда печатается x, к последнему словарю добавляется только последнее значение, тогда как для s есть разные значения.Очевидно, что ключ 'cat' перезаписывается каждый раз, когда цикл повторяется, но не может найти способ исправить это. Какую ошибку я делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...