2024-10-04 01:22:45 发布
网友
两者之间有什么区别复制。复制以及复制.deepcopypython中的函数?在
>>> copy.deepcopy(li) [1, 2, 3, 4] >>> copy.copy(li) [1, 2, 3, 4]
两个函数的作用是一样的,有人知道这些函数具体做了什么吗
copy.copy执行浅拷贝,而{}执行深层复制。在
copy.copy
当考虑:
li = [1, 2, 3, 4]
您不会注意到任何差异,因为您复制的是不可变对象,但是请考虑:
由于浅层副本只复制列表中的每个引用,因此操纵这些复制的引用仍将影响原始列表。在
但是,以下代码:
>>> x.append(1)
对原始列表没有影响。在
>>> import copy >>> L = [[1,2,3]] >>> A = copy.copy(L) >>> A[0].append(4) >>> A [[1, 2, 3, 4]] >>> L [[1, 2, 3, 4]] >>> L = [[1,2,3]] >>> A = copy.deepcopy(L) >>> A[0].append(4) >>> A [[1, 2, 3, 4]] >>> L [[1, 2, 3]]
copy.copy
执行浅拷贝,而{当考虑:
您不会注意到任何差异,因为您复制的是不可变对象,但是请考虑:
^{pr2}$由于浅层副本只复制列表中的每个引用,因此操纵这些复制的引用仍将影响原始列表。在
但是,以下代码:
对原始列表没有影响。在
相关问题 更多 >
编程相关推荐