我有下面的代码,首先我生成了一个有三层的字典。然后我给a3[0][0][boy']分配了一个元素,但是我得到了分配的所有键。如果有人知道为什么会这样,请帮帮我。非常感谢。你知道吗
a1={}
a2={}
a3= {}
for p_type in ['boy','girl']:
a1[p_type] = 0
for m in range(2):
a2[m] = a1
for p in range(2):
a3[p] = a2
print(a3)
a3[0][0]['boy']=100
a3
结果如下
{0: {0: {'boy': 0, 'girl': 0}, 1: {'boy': 0, 'girl': 0}}, 1: {0: {'boy': 0, 'girl': 0}, 1: {'boy': 0, 'girl': 0}}}
Out[12]:
{0: {0: {'boy': 100, 'girl': 0}, 1: {'boy': 100, 'girl': 0}},
1: {0: {'boy': 100, 'girl': 0}, 1: {'boy': 100, 'girl': 0}}}
变量和字典元素保存对对象的引用。使用多个引用,但它们指向同一个dictionary对象。你知道吗
dict.copy()
创建真实副本。你知道吗相关问题 更多 >
编程相关推荐