python散装笔记——76: 数据拷贝_python数据传输
1: 拷贝一个字典
字典对象具有复制方法。它执行字典的浅层复制。
>>> d1 = {1:[]}
>>> d2 = d1.copy()
>>> d1 is d2
False
>>> d1[1] is d2[1]
True
2: 执行浅层复制
浅层拷贝是对集合的拷贝,但不对其元素执行拷贝。
>>> import copy
>>> c = [[1,2]]
>>> d = copy.copy(c)
>>> c is d
False
>>> c[0] is d[0]
True
3: 执行深度复制
如果有嵌套列表,最好也复制嵌套列表。这种操作称为深度复制。
>>> import copy
>>> c = [[1,2]]
>>> d = copy.deepcopy(c)
>>> c is d
False
>>> c[0] is d[0]
False
4: 执行列表的浅层复制
您可以使用切片创建列表的浅层副本。
>>> l1 = [1,2,3]
>>> l2 = l1[:] # Perform the shallow copy.
>>> l2
[1,2,3]
>>> l1 is l2
False
5: 拷贝一个set集合
集合也有一个 copymethod 方法。您可以使用该方法执行浅层复制。
>>> s1 = {()}
>>> s2 = s1.copy()
>>> s1 is s2
False
>>> s2.add(3)
>>> s1
{[]}
>>> s2
{3,[]}