파이썬에서 데이터는 객체이다.
이 말은 즉, '데이터가 변수에 저장된다'는 말보단 '변수가 데이터를 가리킨다' 라고 하는 것이 정확한 표현이다.
# 리스트 할당 방식
# 보통 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] 람다함수 (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 |