큰문제는 아니고 가령 스샷의 예시처럼리스트하나를 딴 변수에 똑같이 넣어주고 복사한 변수만 sort했는데찍어보면 둘다 정렬당해있어 이거 왜이런거임?sorted 로 정렬된값만 넣어주면 원본은 그대로긴하던데대체 뭔이유로 저렇게 동기화되는거임?콜바이밸류 콜바이레퍼런스 이런거 관련된 문제인가?- dc official App
리스트라 참조변수라 그를컨
파이썬은 모두 다 객체야. 다시 말해 니가 "numbersSort = numbers" 라고 한 순간 같은 객체를 가리키는 거지. import copy numbersSort = copy.deepcopy(numbers) 이 코드 넣어서 실행하면 객체 복사까지 됨
ㄱㅅㄱㅅ 걍 생각없이 이런식으로 쓰면 의도치않게 원본 헤집어놓겠네 조심해야겠당 - dc App
원본 헤집어 놓지 않게 numbersSort=numbers.sort() 이런 식으로 접근해야 안전함
아니면 copy도 있는데 이 방식의 문제는 그냥 object를 새로 만들 뿐이라 차라리 특정 객체에 함수를 적용하는 행위를 새로운 객체로 정의하는게 원본을 그대로 두는거