본문 바로가기
언어/python3

파이썬 | 리스트를 리스트에 복사할 때, 주의할 점

by Godgil 2020. 3. 15.

list 자료형에서 list 자료형으로 복사 할 때, 내가 실수 했던 것을 적어보려한다.

 

lst = [1,3,4,2]
copy = []

이렇게 두개의 리스트가 주어지고,

lst에서 copy로 복사하고 싶었다.

 

copy = lst
copy.sort()
print("lst = ",lst)
print("copy = ",copy)

lst =  [1, 2, 3, 4]
copy =  [1, 2, 3, 4]
Process finished with exit code 0

 

위의 코드는 내가 제일 처음 썼던 코드인데,

이렇게 그냥 copy = lst를 써버리니까, copy의 내용을 바꾸게되면 원래있는 lst에도 영향이 갔다.

나는 원래 리스트는 그대로 두고싶었다.

 

이럴 때 해결방법은 아래와 같다.

 

copy = list(lst)
copy.sort()

복사를 해 줄때, 위처럼 list(lst)를 해 주면 copy를 정렬시켜줘도 lst는 아무런 영향을 받지 않는다.

 

print("lst = ",lst)
print("copy = ",copy)

lst =  [1, 3, 4, 2]
copy =  [1, 2, 3, 4]
Process finished with exit code 0

 그 결과는 물론, 위처럼 나오게 된다.

댓글