티스토리 뷰
first_list = [1,2,3,4,5]
second_list = first_list.copy()
# 같은 내용이 출력된다
print(first_list)
print(second_list)
# 그러나 주소는 다름
print(id(first_list))
print(id(second_list))
파이썬에서 = 을 이용하여 배정하면
같은 주소를 가르킨다.
다시 말해서..
A = [1, 2, 3]
B = A
B.append(4)
print(A)
print(B)
이런 코드를 실행하면
print(A) : [1,2,3]
print(B) : [1,2,3,4]
가 되어야 할 것 같지만
실제로 출력되는 라인은
print(A) : [1,2,3,4]
print(B) : [1,2,3,4]
이다.
B = A 이므로
A가 이미 가르키고 있던 [1,2,3]에 4를 append해준다.
즉 A를 출력해도 [1,2,3,4]가 나온다.
'언어 > Python' 카테고리의 다른 글
__init__과 __call__의 차이 (0) | 2022.10.12 |
---|---|
list를 torch로 변환하기 (0) | 2022.06.06 |
List Comprehension Practice (수정 보충 필요) (0) | 2021.01.07 |
함수의 결과 값이 가장 작은 element를 구하라 (0) | 2021.01.05 |
쓰임새를 모르는 Python object 용도 찾기 (0) | 2021.01.01 |