리스트 vs 튜플
리스트와 튜플의 차이점이 무 엇일까?
1. 리스트와 튜플
1 | my_list=[1,2,3] |
둘 다 타입과 상관 없이 일련의 요소(element)를 갖을 수 있다.
두 타입 모두 요소의 순서를 관리한다. (세트(set)나 딕셔너리(dict)와 다르게 말이다.)
2. 리스트와 튜플의 차이
1 | my_list[1]="two" |
리스트와 튜플의 기술적 차이점은 불변성에 있다.
리스트는 가변적(mutable, 변경 가능)이며 튜플은 불변적(immutable, 변경 불가)이다.
4. 튜플의 특징과 장점?
인덱스 요소마다 의미가 있다면, tuple로!
리스트는 리스트 안의 요소가 불확실한 경우에 주로 사용한다.
하지만 튜플은 들어있는 요소의 수와 종류를 사전에 정확히 알고 있을 경우에 사용한다.
why? 각 요소의 위치가 큰 의미를 갖고있기 때문에.
튜플은 구조체(struct)같은 특징을 지닌다.
그래서, 다양한 타입을 저장하는 경우에 자주 사용된다.
튜플은 공간효율성이 좋다.
리스트는 요소를 추가하는 동작을 빠르게 수행할 수 있도록 더 많은 공간을 저장해둔다.
하지만 튜플은 고정적이기때문에 공간을 많이 차지하지않는다.
튜플은 얕은 복사
리스트는 객체를 복사할 경우에 새로운 객체로 복사가 된다.
하지만 튜플은 서로 id가 같은 객체로 복사가 된다.
새로운 메모리에 값을 할당하는게 아닌, 복사된 변수가 원본과 같은 객체를 가리키고 있다는 뜻이다.
3. 그렇다면 언제 tuple을 쓰는가?
빠른 연산속도라는 장점을 지니고 있는 튜플은 읽기 전용데이터에 많이 쓰인다.
또한 원소로 다양한 타입을 저장하는 경우에도 자주쓰인다.
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.