python - 字典值是另一个字典

python - 字典值是另一个字典,第1张

考虑一下

dict1={}
dict2={}
dict2["first_d2"]="Yes"
dict1["first_d1"]=dict2
print dict1
print dict2
dict2={}
print dict1      ===>Here's the doubt
print dict2

输出:

{'first_d1': {'first_d2': 'Yes'}}
{'first_d2': 'Yes'}
{'first_d1': {'first_d2': 'Yes'}}   ===>Why is this not resetting?Its referencing to dict2
{}

现在python词典是可变的。所以dict1引用dict2。现在重置第一个操作dict2后,为什么dict1的值没有重置?< / p>

根据我的理解,可变对象更改内存中的内容并且不返回新对象。所以为什么这不会发生?我缺少什么?

我从可变和不可变的角度来看很困惑!

最佳答案:

1 个答案:

答案 0 :(得分:2)

dict2 = {}

上述行只会使变量dict2引用新变量,而不是dict1['first_d1']中的项目。

如果要更改两者(清除dict2字典中的所有条目),请使用dict.clear方法:

dict2.clear()

除此之外,还可以找到here.

的更多信息
本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复