Python에서 중첩 목록을 효율적으로 복사
Python에서는 변경 가능한 특성으로 인해 중첩 목록을 복사하는 것이 까다로울 수 있습니다. 얕은 복사 기술을 사용하는 경우 하나의 목록을 수정하면 원본 목록에 영향을 미칩니다. 이러한 제한을 극복하려면 Python에서 목록 복사의 미묘한 차이를 이해하고 복사된 목록의 독립성을 보장하는 방법을 선택하는 것이 중요합니다.
1D 목록의 예를 고려하세요.
a = [1, 2] b = a[:]
이 시나리오에서는 b를 수정해도 a에 영향을 미치지 않으므로 얕은 복사로 충분합니다. 그러나 2D 또는 중첩 목록으로 작업할 때는 동일한 접근 방식이 실패합니다.
a = [[1, 2], [3, 4]] b = a[:]
이 경우 b를 수정하면 a에도 영향을 미칩니다. 중첩된 목록의 진정으로 독립적인 복사본을 만들려면 더 깊은 수준의 복사를 탐구해야 합니다.
해결책: copy.deepcopy()를 사용한 심층 복사
Python의 복사본 모듈은 deepcopy() 함수를 사용하여 중첩 목록 전체 복사를 위한 강력한 솔루션을 제공합니다. 얕은 복사와 달리 이 함수는 중첩된 구조를 반복적으로 반복하여 모든 수준에서 독립적인 복사본을 만듭니다.
import copy b = copy.deepcopy(a)
deepcopy()를 사용하면 b를 수정해도 원본 목록 a에 영향을 주지 않습니다. 이 기술을 사용하면 두 목록이 분리되어 독립적으로 조작될 수 있어 중첩 목록 수정 문제를 해결할 수 있습니다.
위 내용은 원본에 영향을 주지 않고 Python에서 중첩 목록을 효율적으로 복사하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!