파이썬의 리스트(list)와 딕셔너리(dict)는 등호(=)를 이용해서 다른 변수에 할당할 경우 해당 자료가 복사되지 않고 동일한 데이터에 연결됩니다. 아래의 리스트 예시를 보겠습니다.
x = [1, 2, 3]
y = x
위와 같이 한 상태에서 y의 마지막 원소를 꺼내기 위해 pop()을 사용해 봅니다.
y.pop()
이렇게 하면 x와 y가 동일한 데이터에 연결되어 있기 때문에 x를 출력해도 마지막 원소가 제거된 것을 볼 수 있습니다.
print(x)
[1, 2]
데이터를 복사하여 별도의 리스트를 만들고 싶다면 아래와 같이 copy() 함수를 이용해야 합니다.
y = x.copy()
이렇게 하면 y에서 pop()을 사용해도 x에 저장된 데이터에는 변화가 없습니다.
딕셔너리도 마찬가지입니다. 데이터 자체를 복사해서 하나 더 만들고 싶다면 copy()를 사용합니다.
a = {'name':'john', 'age':20}
b = a.copy()
유튜브보면서 저도 공부중인데 어렵더군요.
저도 틈틈이 공부하고 있습니다만, 그래도 프로그래밍 언어들 중에는 파이썬이 그나마 편하고 다루기 쉬운 쪽에 속하긴 합니다.