我需要实现的数据结构是:

{
    '179': {
        'name': [ < object > , < object > , < object > ],
        'lastname': [ < object > , object > , < object > ]
    }
}


我有以下代码可以实现它:

if g_id in email_data:
    email_data[g_id]['name'] = names
    email_data[g_id]['lastname'] = lastnames
else:
    email_data[g_id] = {'name': names}
    email_data[g_id] = {'lastname': lastnames}
print email_data


但是有些我无法实现。最后一个数据lastname总是像{'179': {'lastname': [<object>, <object>, <object>]}}一样追加,但name丢失。有想法吗?提前致谢

最佳答案

您应该更改:

    else:
        email_data[g_id] = {'name':  names}
        email_data[g_id] = {'lastname':  lastnames}


至:

    else:
        email_data[g_id] = {'name':  names, 'lastname':  lastnames}


否则,您将覆盖email_data[g_id]

想一想:

    else:
        a = 1
        a = 2


a的值是什么?

关于python - 字典值被覆盖,而不是添加到字典中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38371351/

10-12 15:26