재유's

[Python3] 리스트 복사 처리 본문

IT Story/: : Python

[Python3] 리스트 복사 처리

Stella_NY 2018. 11. 23. 11:45

Python에서는 리스트 복사에 대해 여러가지 방법을 제시 해줍니다.

리스트에서 리스트 = 리스트 라고 선언하면 복사가 아닌 참조가 되어 값을 한곳에서 변경을해도 똑같이 변경이 됩니다.

그래서 복사를 다른방법으로 해야되는데 그 방법은 여러가지가 있습니다.



1. 동일한 크기의 리스트를 준비하고 각 원소를 하나씩 복사하는 방법


2. 슬라이싱을 활용한 복사방법


3. 리스트 객체의 copy 함수 활용 방법이 있습니다.


물론 그 외의 방법도 있습니다. 


하지만 2번과 3번 방법은 Python에서만 할 수 있는 방법으로 매우 편리합니다.

그래서 2번 방법과 3번 방법을 알아보겠습니다.



1. 슬라이싱을 활용하는 방법


슬라이싱인 [:]을 이용하여 복사하는 것입니다.


1
2
bar = [1,2,3]
copy_list = bar[:]



이 두줄이면 끝납니다.
그럼 자동으로 copy_list라는 변수는 리스트 bar를 복사시킨 또다른 리스트가 됩니다.
복사본이든 원본이든 수정을 해도 각각 리스트에 영향은 없습니다.

2. 리스트 객체의 copy함수 활용
1
2
bar = [123]
copy_list = bar.copy()



라고 쓰면 복사가 완료됩니다!
슬라이싱 방법과 마찬가지로 수정을 해도 각각 리스트에 영향이 없습니다.


Comments