首先,我找不到任何建议来解决我下面的问题,所以如果有人已经回复了,请帮我回答这个问题。在
我试图“动态”创建一个由其他字典组成的字典(最后一个是通过json获取的数据);总之,我要实现的结果是:
{
'D2Key1': {'D1Key1': 'Data11', 'D1Key2': 'Data21', 'D1Key3': 'Data31'},
'D2Key2': {'D1Key1': 'Data12', 'D1Key2': 'Data22', 'D1Key3': 'Data32'},
'D2Key3': {'D1Key1': 'Data13', 'D1Key2': 'Data23', 'D1Key3': 'Data33'}
}
我写的代码是:
^{pr2}$我得到的结果是一个包含三个字典的字典,但是它们都有相同的数据,来自上一次迭代的数据,换句话说,如下所示:
{
'D2Key1': {'D1Key1': 'Data13', 'D1Key2': 'Data23', 'D1Key3': 'Data33'},
'D2Key2': {'D1Key1': 'Data13', 'D1Key2': 'Data23', 'D1Key3': 'Data33'},
'D2Key3': {'D1Key1': 'Data13', 'D1Key2': 'Data23', 'D1Key3': 'Data33'}
}
有人能告诉我正确的方向吗? 谢谢
是的,如果你这样做的话,你必须在每次通过后重置D1,否则指针保持不变,你将D2中的所有关键点指向同一个D1。以下是如何解决这个问题:
这可能是因为您在for循环中引用了相同的dict D1。我认为您必须在每次迭代中创建新的dict。像这样:
这是一个常见的错误。D2中的每个键都被分配给同一个对象D1。然后每次迭代都要修改D1。在
相反,您希望在每次迭代中分配不同的字典。在for循环的第一行添加一个
D1 = {}
。在相关问题 更多 >
编程相关推荐