상세 컨텐츠

본문 제목

[Python] 할당과 복사

Python

by TUZA 2022. 6. 8. 21:24

본문

파이썬에서 데이터는 객체이다.

이 말은 즉, '데이터가 변수에 저장된다'는 말보단 '변수가 데이터를 가리킨다' 라고 하는 것이 정확한 표현이다.

 

# 리스트 할당 방식
# 보통 x 리스트를 이용하기 위해서 아래와 같이 y에 할당하려고 시도할 것이다.
# 그러나 아래와 같이 y에 할당한다면 y[2]=0 입력 시 x 리스트의 내용도 함께 변경된다.
x = [1,2,3,4,5]
y = x


#그러므로 아래와 같은 방식으로 리스트를 복사해야한다.
# 리스트 복사 방식
x = [1,2,3,4,5]
y = x.copy() #copy()메소드 이용

 

다차원리스트인 경우 다른 메소드를 이용한다.

# deepcopy , 다차원 리스트 복사 시 사용한다.
# 다차원 리스트 복사 방식
x = [[1,2],[3,4,5]]
y = copy.deepcopy(x)

 

정리

# 리스트 할당 방식
import copy
x = [1,2,3,4,5]
y = x

y[2] = 0
print(x)
print(y)
print(id(x)) # 주소 값 찾기.
print(id(y))

# 리스트 복사 방식
x = [1,2,3,4,5]
y = x.copy()
y[2] = 0

print(x) # [1, 2, 3, 4, 5]
print(y) # [1, 2, 0, 4, 5]


# 다차원 리스트 복사 방식
x = [[1,2],[3,4,5]]
y = copy.deepcopy(x)
반응형

'Python' 카테고리의 다른 글

[Python] 람다함수  (0) 2022.06.10
[Python] 함수의 다양한 매개변수  (0) 2022.06.10
[Python] 리스트 내포(Comprehension)  (0) 2022.06.08
[Python] 리스트 메서드  (0) 2022.06.08
[Python] 문자열 포메팅  (0) 2022.06.08

관련글 더보기