我需要实现的数据结构是:
{
'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
缺失。伙计们好吗?提前致谢
答案 0 :(得分:2)
你应该改变:
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
的价值是什么?
答案 1 :(得分:1)
在else
区块中,您应该更新字典重新分配:
email_data[g_id] = {'name': names}
email_data[g_id].update({'lastname': lastnames})
或者只是一次性分配所有键/值:
email_data[g_id] = {'name': names, 'lastname': lastnames}