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
그 결과는 물론, 위처럼 나오게 된다.
'언어 > python3' 카테고리의 다른 글
파이썬 | 리스트의 일정 부분 합 구하기 (0) | 2020.03.16 |
---|---|
파이썬 | 소수점 나타내기 (0) | 2020.03.16 |
파이썬 | 리스트 생성, 생성과 동시에 크기지정 (0) | 2020.03.15 |
파이썬 | map 함수를 쓰고, []로 접근하고 싶을 때 (0) | 2020.03.15 |
파이썬 | for문과 print문 사용 시, 줄바꿈을 안하고 싶을때 (0) | 2020.03.15 |
댓글