【发布时间】:2013-01-09 16:22:20
【问题描述】:
在帮助一位同事编写 Python 2.7 脚本时,我注意到了一些奇怪的事情。他有一本字典,其中列表作为字典值。他将字典值分配给一个新变量,然后对列表进行一些编辑。让我感到奇怪的是新变量中的列表更改也反映在字典中。我在 shell 中重复了一个简单的示例,并将其发布在下面。我也尝试过同样的事情,但使用字符串作为字典值,但没有效果。我在这里缺少什么或者这是某种错误吗?谢谢。
>>> dict1 = {}
>>> dict1['foo'] = [1,2,3]
>>> print dict1
{'foo': [1, 2, 3]}
>>> bar = dict1['foo']
>>> bar.append(4)
>>> print dict1
{'foo': [1, 2, 3, 4]}
在上面的示例中,我希望将 4 附加到 bar 并且 'foo' 的值保持 [1,2,3]。
【问题讨论】:
标签: python list dictionary python-2.7