copy.copy()、copy.deepcopy()、np.copy ()와python의 일반적인 등호의 차이
1443 단어 python
(1) 초기 변수를 바꾸면 일반적인 등호는 관련 변수에 똑같은 변화를 일으킨다(이것은 인용의 특성 때문에 이전에 파이톤의 이 특성을 눈치채지 못했기 때문이다)
직접 부착된 코드는 이해하기 쉬울 것입니다.
a = [1, 2, 3]
>>> b = a
>>> a
[1, 2, 3]
>>> b
[1, 2, 3]
>>> a[0] = 4
>>> a
[4, 2, 3]
>>> b
[4, 2, 3] # python
(2)copy 얕은 복사, 여기서 얕은 복사는 삽입 부분에 비해 얕은 것을 가리키고, 삽입 부분은 하위 대상을 가리키며, 하위 대상을 복사하지 않았기 때문에 원시 데이터가 바뀌면 하위 대상이 바뀐다.
import copy
a = [1, 2, ['a']]
>>> c = copy.copy(a)
>>> a
[1, 2, ['a']]
>>> c
[1, 2, ['a']]
>>> a[2].append('b')
>>> a
[1, 2, ['a', 'b']]
>>> c
[1, 2, ['a', 'b']] # , ,
>>> a.append(3)
>>> a
[1, 2, ['a', 'b'], 3]
>>> c
[1, 2, ['a', 'b']] # ‘ ’ ,
(3) 깊이 복사, 대상에 포함된 모든 삽입 부분의 복사를 포함하기 때문에 원시 대상의 변화는 베리의 어떤 하위 요소도 깊이 복사하지 않는다.
import copy
a = [1, 2, ['a']]
>>> c = copy.deepcopy(a)
>>> a
[1, 2, ['a']]
>>> c
[1, 2, ['a']]
>>> a[2].append('b')
>>> a
[1, 2, ['a', 'b']]
>>> c
[1, 2, ['a']] # , ,
주의 사항:
numpy 안의 등호는 인용 (numpy 대상을 먼저 만들기) 이고, 깊이 복사는np입니다.copy.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.