대 얕은 list.copy ...하지만 나는 매우 혼란 스러워요 : 워드 프로세서에서파이썬은 어쩌면 내가 얕은 복사의 정의를 이해하지 못하는 딥 카피
:
이"S"는 어디에 목록 (그러나 동일한 질문은 각각 사전에 적용됩니다). 나는 s[:]
는 딥 카피라고 생각
제외 : |
는 "s.copy는() ([]들과 동일) s의 단순 복사본을 만듭니다." 예를 들어 원래 버전을 가리 키지 않고 목록을 복사하는 방법은 this stack overflow answer을 참조하십시오. [:]
l1 = [1,2,3,4] l2 = l1[:] l3 = l1.copy() l2.append(5) l3[0] = 99 print(l1) print(l2) print(l3) >> [1,2,3,4] >> [1,2,3,4,5] >> [99,2,3,4]
l1
,l2
및l3
모든 별도의 객체임을 나타납니다 그리고 list1.copy()를 사용하여뿐만 아니라 일명 동일한 동작을 깊은 복사를 할 것으로 보인다. 내가 뭘 놓치고 있니?
... l1을 숫자 목록의 목록으로 변경하면 l1.copy()는 별도의 개체 – RSHAP
을 생성하는 것처럼 보입니다. 둘 다 얕은 복사본입니다. 이 질문의 구별은 단순한 과제 (전혀 복사하지 않음)와 사본 (얕은 하나) –
@ juanpa.arrivillaga 사이입니다. – RSHAP