鱼C论坛

 找回密码
 立即注册
查看: 1810|回复: 1

[已解决]关于字典的一点困惑想求助一下各位大神

[复制链接]
发表于 2020-10-22 11:04:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在小甲鱼的视频里举了两个例子,我觉得这两个例子有相互矛盾之处,第一个是清除字典里的数据的时候如果直接赋值,比如a={'小甲鱼'},b=a,然后在让a={},此时输出b,依然会出现b={‘小甲鱼’},但是当用copy函数的时候,小甲鱼说直接赋值不改变id,而copy是改变id的,比如令c=a,然后再在c字典中加入一个元素,那么a相应也会加一个元素,因为id不变嘛,那为什么之前让a={}的时候,b按道理id和a一样,应该也会变成空字典呀,所以这里有点不明白,请教各位大神,谢谢!
最佳答案
2020-10-22 12:37:08
打印看一下id
a={'小甲鱼'}
print('a的内存地址',id(a))
b=a
c=a.copy()
print('b的内存地址',id(b))
print('c的内存地址',id(c))
a={}
print('a的内存地址',id(a))
print('b的值',b)
print('b的内存地址',id(b))
print('c的值',c)
print('c的内存地址',id(c))

a的内存地址 23195800
b的内存地址 23195800
c的内存地址 23071624
a的内存地址 13211560
b的值 {'小甲鱼'}
b的内存地址 23195800
c的值 {'小甲鱼'}
c的内存地址 23071624
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-22 12:37:08 | 显示全部楼层    本楼为最佳答案   
打印看一下id
a={'小甲鱼'}
print('a的内存地址',id(a))
b=a
c=a.copy()
print('b的内存地址',id(b))
print('c的内存地址',id(c))
a={}
print('a的内存地址',id(a))
print('b的值',b)
print('b的内存地址',id(b))
print('c的值',c)
print('c的内存地址',id(c))

a的内存地址 23195800
b的内存地址 23195800
c的内存地址 23071624
a的内存地址 13211560
b的值 {'小甲鱼'}
b的内存地址 23195800
c的值 {'小甲鱼'}
c的内存地址 23071624
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 07:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表