수색…


얕은 복사본 수행

얕은 복사본은 해당 요소의 복사본을 수행하지 않고 컬렉션의 복사본입니다.

>>> import copy
>>> c = [[1,2]]
>>> d = copy.copy(c)
>>> c is d
False
>>> c[0] is d[0]
True

전체 복사본 수행

중첩 목록이있는 경우 중첩 목록도 복제하는 것이 바람직합니다. 이 작업을 전체 복사본이라고합니다.

>>> import copy
>>> c = [[1,2]]
>>> d = copy.deepcopy(c)
>>> c is d
False
>>> c[0] is d[0]
False

목록의 얕은 복사본 수행

조각을 사용하여 목록의 얕은 복사본을 만들 수 있습니다.

>>> l1 = [1,2,3]
>>> l2 = l1[:]     # Perform the shallow copy.
>>> l2
[1,2,3]
>>> l1 is l2
False

사전 복사

사전 객체에는 copy 메소드가 있습니다. 사전의 얕은 사본을 수행합니다.

>>> d1 = {1:[]}
>>> d2 = d1.copy()
>>> d1 is d2
False
>>> d1[1] is d2[1]
True

집합 복사

세트에는 copy 메소드도 있습니다. 이 방법을 사용하여 얕은 복사본을 수행 할 수 있습니다.

>>> s1 = {()}
>>> s2 = s1.copy()
>>> s1 is s2
False
>>> s2.add(3)
>>> s1
{[]}
>>> s2
{3,[]}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow