파이썬 질문입니다.
본문
대학에서 파이썬 배운다길래 이제야 공부하는 학생입니다.
a=[1,2,3]
b=[4,5]
t=a
a=b
print(t) 에서 a=b임에도 t는 여전히 [1,2,3]을 출력받고
a=[1,2,3]
t=a
a[0]=5
print(t) 에서는 t가 [5,2,3]으로 출력됩니다.
위의 예시에서 a가 변했는데 t가 변하지 않은 것과
아래의 예시에서 a가 변했는데 t도 변한 것의 차이점을 모르겠습니다.
둘다 t=a이고, a가 변했음에도 하나는 변하고 하나는 변하지 않은 이유를 알려주시면 감사하겠습니다.
답변 3
실행결과를 보면 t가 변하지않는데 변했다고 하니 이상하다는 겁니다
위의 것은 재할당,
아래 것은 기존 배열 값을 수정.
a=[1,2,3]
b=[4,5]
t=a # [1,2,3]
a=b # [4,5]
print(t) # [1,2,3]
a=[1,2,3]
t=a # [1,2,3]
a[0]=5 # a 수정, 현재 a =[5,2,3], 그 결과 t =[5,2,3]
print(a) # [5,2,3]
print(t) # [5,2,3]
변수는 값을 담는 그릇.
엄밀히 말하면,
해당 값이 저장된 데이터를 가리키는 지시자 역할.
답변을 작성하시기 전에 로그인 해주세요.