View
40. Tuples
40-1. Tuples
이제까지 list 에 대해서 배웠습니다.
List 같이 데이터들을 저장하게 해주는 것들을 Data Structure (자료구조) 라고 합니다.
그리고 파이썬에는 list 외에도 여러 자료구조 들이 있습니다.
그 중 이번에는 tuple 에 대해서 알아보겠습니다.
Tuple 은 list 와 비슷하게 요소들을 저장할때 쓰입니다.
기본적으로 tuple 은 list 와 동일하지만 다음과 같은 차이를 가지고 있습니다.
- List 는 수정이 가능하지만 tuple 은 한번 선언되면 수정이 불가능 합니다.
Tuple 을 선언하는 문법은 다음과 같습니다.
my_tuple = (1, 2, 3)
보시다시피 list 와 차이점은 대괄호 대신에 일반 괄호를 사용한다는 점입니다.
Tuple 의 요소들을 읽어들이는 방법과 slicing 방법은 모두 list 와 동일합니다.
my_tuple[0]
my_tuple[1:2]
간단하죠? 😃 😃 😃
40-2. When to use tuples
보시다시피 몇가지 차이점을 제외하고 나면 tuple과 list는 굉장히 유사합니다.
그렇다면 왜 tuple이 존재하는걸까요? Tuple은 언제 사용하는걸까요? 🤨 🧐
Tuple은 일반적으로 2개에서 5개 사이의 요소들을 저장할때 사용되며, 특정 데이터를 ad hoc(즉석적으로) 하게 표현하고 싶을때 사용됩니다.
예를 들어, 다음의 A, B, C, D 좌표들 표현하고자 한다면 어떻게 하는게 좋을까요?
- A = (4, 4)
- B = (5, 2)
- C = (-2, 2)
- D = (-3, -4)
이러한 데이터들을 표현할때 tuple을 사용하면 유용합니다. 다음과 같이 말이죠.
coords = [ (4,4), (5,2), (-2, 2), (-3, -4) ]
이렇게 tuple은 주로 list와 같이 쓰입니다. List의 요소들로 tuple을 사용하는 것이죠.
물론 list를 사용해서 동일한 데이터를 표현할 수 있습니다.
coords = [ [4,4], [5,2], [-2, 2], [-3, -4] ]
하지만 이 경우에는 list보다는 tuple이 더 효과적입니다. List는 수정이 가능하고 여러 수의 요소들을 저장할 수 있도록 했기때문에 tuple보다 차지하는 메모리 용량이 더 큽니다. 더 많은 기능과 flexibility를 제공하기 때문에 어쩔 수 없이 용량이 커지는거죠. 하지만 tuple은 제한적인 만큼 용량이 더 적습니다. 그래서 수정이 필요없고 간단한 형태의 데이터를 표현할때는 tuple을 사용하는게 훨씬 더 효과적입니다.
'PYTHON' 카테고리의 다른 글
TIL 23 | Session_스타벅스_모델링 (0) | 2021.08.10 |
---|---|
TIL 21 | PYTHON_Set 과 Dictionary_List 와 Tuple 의 차이 (0) | 2021.08.09 |
TIL 14 | PYTHON_IF (0) | 2021.08.05 |
TIL 13 | PYTHON_String Concatenation (0) | 2021.08.05 |
TIL 12 | PYTHON_Math Expressions (0) | 2021.08.05 |