python에서 alias 생성 시 주의할 점

ewillwin·2023년 3월 28일
0

아무거나

목록 보기
12/23
  • alias: python에서 두 변수가 가리키는 메모리 주소가 같은 경우
  • string이나 상수처럼 값을 변경시킬 수 없는 경우는 alias를 생성해도 안전하지만, list같이 값을 변경시킬 수 있는 경우에 alias를 생성하게 되는 경우 주의해야함
li1 = [1, 2, 3, 4, 5]
li2 = li1
li2[0] = 100

print(li1); print(li2)
  • 위의 코드를 실행시켜보면,
[100, 2, 3, 4, 5]
[100, 2, 3, 4, 5]
  • li2 = li1를 하는 경우, 값이 복사된 게 아니라 li2가 li1의 alias로 생성됨. li1과 li2가 동일한 객체를 참조함
  • list에서 alias 생성이 아닌 값만 복사시키고 싶다면 아래와 같이 해야함
li1 = [1, 2, 3, 4, 5]
li2 = list(li1)

li3 = li1.copy()

li4 = li1[:]

li5 = [] + li1
profile
Software Engineer @ LG Electronics

0개의 댓글