【发布时间】:2015-11-05 02:29:53
【问题描述】:
最近做了2个实验:
(1):
>>> a = dict(zip([1,2,3],[4]*3))
>>> a
{1: 4, 2: 4, 3: 4}
>>> a[1] = 111
>>> a
{1: 111, 2: 4, 3: 4}
(2):
>>> a = dict(zip([1,2,3],[{'a':True,'b':True}]*3))
>>> a
{1: {'a': True, 'b': True},
2: {'a': True, 'b': True},
3: {'a': True, 'b': True}}
>>> a[1]['a']=False # Here I changed the value of a[1]['a'] from True to False
>>> a
{1: {'a': False, 'b': True},
2: {'a': False, 'b': True},
3: {'a': False, 'b': True}} #all 'a' value changed to False.
为什么会出现(2)中的这个问题?为什么(1)没有这个问题?
【问题讨论】:
标签: python dictionary