Python 기초

Python, List 복사 (deep copy)

수알치 2022. 5. 27. 18:07

Python,  List 복사 (deep copy)

 

리스트에 있는 모든 내용을 다른 리스트에 복사하는 예제이다.

 

copy 모듈을 임포트하고 copy.deepcopy() 함수를 이용하여 복사할 수 있다.

(참고로 일반적인 대입문은 얕은 복사가 이루어진다). 

 

import copy
list1 = [[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]
list2 = copy.deepcopy(list1)
list1[0][0][0] = 0
print('list1')
print(list1)
print()
print('list2')
print(list2)


[실행 결과]
list1
[[[0, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]

list2
[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]

 

[참고] 파이썬 깊은 복사와 얕은 복사

https://crackerjacks.tistory.com/14

 

파이썬 (Python) - 깊은 복사 (Deep Copy)

파이썬 (Python) - 깊은 복사 (Deep Copy) 알고리즘을 풀다 보면 원본배열의 보존을 위해 배열을 복사할 필요를 느낄때가 많다. 객체를 무작정 복사해서 사용하면 원본 객체가 핸들링되어 데이터가 변

crackerjacks.tistory.com

 

반응형