리그캣의 개발놀이터

[Python] 리스트의 값참조하기 (변수의 값참조) 본문

프로그래밍 언어/Python

[Python] 리스트의 값참조하기 (변수의 값참조)

리그캣 2019. 3. 11. 11:23



파이썬 개발을 하다보면


값이 아닌 주소 참조를 하게 되는 상황이 발생한다..


예를 들어 다음 소스코드를 보자


abc = [3,4,2,1]


abc.sort()

a1 = abc

print(a1)

abc.reverse()

b1 = abc

print(b1)

print(a1)


결과 값은 다음과 같다.


[1, 2, 3, 4]
[4, 3, 2, 1]
[4, 3, 2, 1]

abc의 값이 바꼈는데 a1의 값이 변경된다.. 당황쓰..


이럴땐 copy 모듈을 사용해주자


import copy


a = copy.copy(복사할 리스트)


이 방식으로 사용하게 되면 된다.


abc = [3,4,2,1]


abc.sort()

a1 = copy.copy(abc)

print(a1)

abc.reverse()

b1 = copy.copy(abc)

print(b1)

print(a1)


결과값

[1, 2, 3, 4]
[4, 3, 2, 1]
[1, 2, 3, 4]

위와 같이 값만 참조하게 된다.


Comments