为什么Python中通过copy方法得到的字典id与原字典id不一致?
Python代码输出False原因说明
record={"Name":"Python","Age":"20"} x=record.copy() print(id(x)==id(record))
以上代码输出False的核心原因如下:
- 字典的
copy()方法执行的是浅拷贝操作,会在内存中申请全新的存储空间来存储拷贝生成的新字典对象,和原字典record的存储地址完全独立。 - Python内置函数
id()的作用是返回对象对应的内存地址,两个存储在不同内存地址的对象做相等判断,结果自然为False。 - 你可以额外测试
print(x == record),这行代码的输出会是True,说明两个字典的内容完全一致,只是属于内存中互相独立的两个对象。
内容的提问来源于stack exchange,提问作者Aryan
相关产品推荐
相关产品推荐

