我知道,当您对字典进行浅拷贝时,实际上是在复制参考资料。所以如果我这样做:
x={'key':['a','b','c']}
y=x.copy()
所以列表 ['a','b','c'] 的引用被复制到 y 中。每当我更改列表(x['key'].remove('a')
例如)时, dict x 和 y 都会更改。这部分我明白了。但是当我考虑下面这样的情况时:
x={'user':'admin','key':['a','b','c']}
y=x.copy()
当我这样做时y['user']='guest'
, x['user'] 不会改变,但列表仍然共享相同的引用。所以我的问题是是什么使字符串与列表不同?这背后的机制是什么?