티스토리 뷰
=====================
x=[1,2,3,4,5]
y=x
y[0]=9
print(x)
print(y)
=====================
여기서 x와 y를 프린트한 값은 같다.
x의 주소값과 y의 주소값이 같기 때문이다.
=> 동일한 객체를 참조한다.
따라서 리스트의 인덱스 0번째 자리에 9가 바뀌게 되고,
[9,2,3,4,5]가 출력된다.
여기서 y는 x의 aliasing이라고 할 수 있다.(a.k.a 같은 건가..?)alias는 가명이라는 뜻을 가지고 있다.
이 상황에서 y를 바꾸면서 x를 유지하려면?
=============
x=[1,2,3,4,5]
y= list(x)
y[0]=9
print(x)
print(y)
=============
이렇게 한다면 list() 함수를 사용했기 때문에 list 함수의 내용이 복제된 것에 y가 참조하게 된다.
=> 복제된 새로운 리스트가 만들어진다는 뜻
이 경우는 복제되었기 때문에 y가 x의 aliasing이 아니다.
'PYTHON' 카테고리의 다른 글
[python basic] module과 import (1) | 2023.11.16 |
---|---|
[python basic] 문자열과 리스트 (0) | 2023.09.24 |
[python basic] dictionary (0) | 2023.09.14 |
[python basic] for문 요약 (0) | 2023.09.05 |
[python basic] list (0) | 2023.09.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- git
- property
- EasyEnglish
- 기록
- EASY ENGLISH
- list
- 줄바꿈
- web1
- 기초
- Python
- 스피킹공부
- BASIC
- img
- 문단
- Python Basic
- speaking
- CSS
- SCRIPT
- ATOM
- study
- gitbash
- web
- 생활코딩
- WebServer
- html
- tag
- title
- 파이썬기초
- Head
- EBS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함