需要帮助来理解python字典

时间:2017-01-17 13:09:35

标签: python python-2.7

有人可以解释一下为什么这段代码的输出使用字典是相同的值?我想如果我在相应的变量字典中添加一个键,我可以操纵它的值。

感谢您的帮助。

>>> sample = {}
>>> listDict1 = {}

>>> listDict1['a'] = 'b'
>>> listDict1['c'] = 'd'

>>> sample["item1"] = listDict1

>>> listDict1['a'] = 'x'
>>> listDict1['c'] = 'y'

>>> sample["item2"] = listDict1

>>> sample
{'item2': {'a': 'x', 'c': 'y'}, 'item1': {'a': 'x', 'c': 'y'}}

我期待:

{'item2': {'a': 'x', 'c': 'y'}, 'item1': {'a': 'b', 'c': 'd'}}

1 个答案:

答案 0 :(得分:1)

使用上面的建议评论,我编辑代码并完美地工作。 感谢。

sample = {}

listDict1 = {}


listDict1['a'] = 'b'
listDict1['c'] = 'd'

sample["item1"] = dict(listDict1)

listDict1['a'] = 'x'
listDict1['c'] = 'y'

sample["item2"] = dict(listDict1)


print id(sample["item1"])
print id(sample["item2"] )
print sample

OUTPUT:
40012512
40012656
{'item2': {'a': 'x', 'c': 'y'}, 'item1': {'a': 'b', 'c': 'd'}}