默认做的是浅复制
我们创建列表l1,创建l1的副本l2,(这里做的是浅复制),通过==比较得出副本和源列表相等,但是两者是不同的对象。
==是比较二者的值是否相等,而is比较的是对象的标识。
通过对l1列表进行追加:
对l1中对象引用的添加:
我们对l1中第二个列表对象进行添加,发现l1和l2都进行了变化,说明浅复制共享了内部对象的引用。
copy函数:浅复制
deepcopy函数:深复制
深复制:副本不共享内部对象的引用
一个简单实例:
如果存在循环引用,会进入无限循环。
一个简单的例子: