python字典赋值issueassign所有不需要的值

2024-04-24 03:57:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的代码,首先我生成了一个有三层的字典。然后我给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}}}

Tags: 代码ina2元素for字典a1type