파이썬 질문입니다.
대학에서 파이썬 배운다길래 이제야 공부하는 학생입니다.
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개 / 댓글 3개
위의 것은 재할당,
아래 것은 기존 배열 값을 수정.
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]
변수는 값을 담는 그릇.
엄밀히 말하면,
해당 값이 저장된 데이터를 가리키는 지시자 역할.
답변에 대한 댓글 1개
5년 전

실행결과를 보면 t가 변하지않는데 변했다고 하니 이상하다는 겁니다
답변에 대한 댓글 1개
이제1학년
5년 전
질문을 헷갈리게 적은 것 같네요 .. 번거롭게 해드리는 것 같아 죄송합니다
a=[1,2,3]
t=a ---> t=[1,2,3]
a[0]=7
print('t=',t) -> t=[7,2,3]
에서 t가 변했는데, 예비대학 강의에서 이때 t와 a가 같은 공간을 사용한다라고 들었습니다.
a=[1,2,3]
b=[4,5]
t=a
a=b
print('t=',t) -> t=[1,2,3]
에서는 t가 [4,5]로 변하지 않고 이때도 t와 a가 같은 공간을 사용한다면 a=b로 변했을때 t는 변하지 않는 이유가 궁금합니다 ..
a=[1,2,3]
t=a ---> t=[1,2,3]
a[0]=7
print('t=',t) -> t=[7,2,3]
에서 t가 변했는데, 예비대학 강의에서 이때 t와 a가 같은 공간을 사용한다라고 들었습니다.
a=[1,2,3]
b=[4,5]
t=a
a=b
print('t=',t) -> t=[1,2,3]
에서는 t가 [4,5]로 변하지 않고 이때도 t와 a가 같은 공간을 사용한다면 a=b로 변했을때 t는 변하지 않는 이유가 궁금합니다 ..
5년 전
질문이 이상해서 직접 코드를 실행 보았습니다
도대체 문제가 보이지 않습니다 ㅋ

답변에 대한 댓글 1개
이제1학년
5년 전
음 .. 먼저 질문이 이상한 것에 대해 사과드립니다.
제가 질문 드리고 싶었던 것은
위아래 모두 t=a로 엮여있는데
a가 변함에도 불구하고
첫번째는 t가 변하지 않고
두번째는 t가 변한다는 것의 차이입니다.
분명 첫번째서 t=a라서 a=b -> t=b라 생각했는데
t!=b라서 이해가 되지않아 질문드린것입니다.
제가 질문 드리고 싶었던 것은
위아래 모두 t=a로 엮여있는데
a가 변함에도 불구하고
첫번째는 t가 변하지 않고
두번째는 t가 변한다는 것의 차이입니다.
분명 첫번째서 t=a라서 a=b -> t=b라 생각했는데
t!=b라서 이해가 되지않아 질문드린것입니다.
답변을 작성하려면 로그인이 필요합니다.