在阅读dict.copy()
年的文档时,它说它只是简单地复制了这本字典.我下面的书(比兹利的Python参考)也是如此,书中说:
m.copy()方法使
考虑一下:
>>> original = dict(a=1, b=2)
>>> new = original.copy()
>>> new.update({'c': 3})
>>> original
{'a': 1, 'b': 2}
>>> new
{'a': 1, 'c': 3, 'b': 2}
所以我假设这会更新original
的值(并加上'c':3),因为我正在做一个浅拷贝.比如,如果你只是为了一张 list :
>>> original = [1, 2, 3]
>>> new = original
>>> new.append(4)
>>> new, original
([1, 2, 3, 4], [1, 2, 3, 4])
这是意料之中的事.
既然这两个都是浅拷贝,为什么dict.copy()
不能像我预期的那样工作呢?还是我对浅抄和深抄的理解是有缺陷的?