본문 바로가기

얕은 복사shallow copy, 깊은 복사deep copy

2.1  얕은 복사 =(대입 연산자) 

# 1 #
# 1.1 lst_1 = [65, 77, 88] 을 lst_2 변수에, =(할당 연산자)를 사용해 복사하고, lst1과 lst2의 값을 출력하세요.
# 1.2 lst_1 에 99를 추가하고, lst1과 lst2의 값을 출력하세요.

# 2 #
# 2.1 위 lst_1 리스트 변수의 주소값과, lst_1 의 마지막 요소의 주소값을 출력하세요
# 2.2 위 lst_2 리스트 변수의 주소값과, lst_2 의 마지막 요소의 주소값을 출력하세요 

# 3 # 
# 3.1 lst_2 의 마지막 요소 값을 11로 변경하고, 마지막 요소의 주소값을 출력하세요
# 3.2 lst_1 의 마지막 요소의 주소값을 출력하세요

# 4 #
# 얕은 복사는 동일한 위치의 주소값을 참조하는 점을 이해했나요?

2.2  얕은 복사  [:] , obj.copy, copy.copy( )

# *리스트 내부 요소 리스트의 주소값이 복사되어 얕은 복사가 된다.

# 1 #
# 1.1 lst_1 = [65, 77, 88] 을 lst_2 변수에, [:](전체 슬라이싱)을 사용해 복사하고, lst1과 lst2의 값을 출력하세요.
# 1.2 lst_1 에 99를 추가하고, lst1과 lst2의 값을 출력하세요.

# 2 #
# 2.1 위 lst_1 리스트 변수의 주소값과, lst_1 의 첫번째, 두번째 요소의 주소값을 출력하세요
# 2.2 위 lst_2 리스트 변수의 주소값과, lst_2 의 첫번째, 두번째 요소의 주소값을 출력하세요 

# 3 # 
# =(대입 연산자), [:](전체 슬라이싱)을 사용한 얕은 복사의 차이점을 이해했나요?

2.3 깊은 복사 copy.deepcopy( )

# copy.deepcopy(lst)
# 유일하게 리스트 내부 리스트의 주소값이, 복사가 아닌 재할당 작업을 한다.

 

BasicLike

어? 나 프로그래밍 좋아하네?