In [227]: x = [ 5678, 'abcd', ('a','b','c'), None, ['c','d'], {7899, 3333} ]
In [228]: y = copy.deepcopy(x)
In [229]: [ id(e) for e in x ]
Out[229]:
[1476285141296,
1476287399920,
1476279051832,
140735866354912,
1476285187848,
1476267835912]
In [230]: [ id(e) for e in y ]
Out[230]:
[1476285141296,
1476287399920,
1476279051832,
140735866354912,
1476292482696,
1476267836584]
我自己做实验的时候,发现深拷贝的时候,列表中不可变对象的元素id没有变化,只有可变对象的id发生了变化,我的理解是只有可变对象进行了重新生成,而不可变对象还是引用。
不知道我的操作有问题,还是理解有问题?
展开