
시퀀스 타입의 튜플 (tuple)
시퀀스의 사전적 의미는 "연속적인 어떤 것(예. 사건들, 행동들, 숫자들)"이다.
위키백과는 시퀀스를 "영화에서 몇 개의 관련된 장면을 모아서 이루는 구성단위를 가리킨다"라고 설명한다.
파이썬의 기본적인 시퀀스 타입에는 리스트, 튜플, 그리고 range가 있다.
리스트는 mutable, 즉 가변의 특성을 가지고 있기에 리스트 내 아이템은 추가되거나 삭제될 수 있다.
이를 위해 리스트는 아이템을 추가하거나 삭제하는 메서드(append나 remove 등)를 제공한다.
하지만 튜플은 immutable, 즉 불변의 특성을 가지고 있어 한번 정의된 튜플은 그 아이템이 추가되거나 삭제될 수 없다.
튜플 데이터는 괄호 "("와 ")" 기호 또는 콤마 "," 기호를 사용해 정의할 수 있다.
tp = (1, 2, 3)
print(tp)
tp = 1, 2, 3
print(tp)
tp = tuple((1, 2, 3))
print(tp)
tp = tuple([1, 2, 3])
print(tp)
- 첫번째 코드는 튜플 데이터 정의를 위해 괄호 "("와 ")"를 사용한다.
- 두번째 코드는 튜플 데이터 정의를 위해 콤마 만을 사용한다.
- 세번째 코드는 튜플 데이터 정의를 위해 tuple 키워드를 사용한다.
- 세번째 코드는 튜플 데이터 정의를 위해 tuple 키워드 및 전달인자로 리스트를 사용한다.

튜플은 immutable 특성을 가지고 있어 튜플 내 아이템 추가, 삭제 또는 변경이 불가하나 튜플 내 아이템이 mutable 특성을 갖는 리스트라면 해당 리스트의 값 변경은 가능하다.
tp = (1, 2, 3, [5, 5, 6])
print(tp)
tp[3][0] = 4
print(tp)
위의 코드는 튜플 변수 tp의 네번째 아이템 [5, 5, 6] 리스트의 첫번째 값을 변경한다.

만약 immutable 특성의 첫번째 아이템인 1을 변경하고자 한다면 오류가 발생한다.
tp = (1, 2, 3, [5, 5, 6])
print(tp)
tp[0] = 0
print(tp)

튜플 아이템의 개수가 한 개라면, 끝에 콤마를 붙여 튜플 데이터임을 명시한다.
tp1 = 1
tp2 = (1)
tp3 = 1,
print(type(tp1))
print(type(tp2))
print(type(tp3))

'코딩 > 파이썬 기초' 카테고리의 다른 글
| 파이썬 튜토리얼 031. 기본 데이터 타입, 딕셔너리 (dict) (0) | 2021.07.22 |
|---|---|
| 파이썬 튜토리얼 030. 기본 데이터 타입, 셋 (set, 집합) (0) | 2021.07.15 |
| 파이썬 튜토리얼 028. del 키워드로 리스트 아이템 삭제 (0) | 2021.07.12 |
| 파이썬 튜토리얼 027. 리스트 컴프리헨션 (list comprehensions) (0) | 2021.07.05 |
| 파이썬 튜토리얼 026. 리스트와 자료구조 큐 (0) | 2021.07.04 |