👨‍👩‍👦‍👦

4.4.3. 튜플

1. Tuple

  • 튜플은 순서가 있는 시퀀스형 자료형입니다.
  • 참조값은 변경이 불가능(immutable) 합니다.
  • 다른 자료형을 입력할 수 있으며, 튜플 안에 튜플로 다차원의 튜플을 만드는 것도 가능합니다.
  • 값의 중복을 허락합니다.
 
튜플(Tuple)은 리스트와 거의 비슷한 형태입니다.
다만 리스트변경이 가능(mutable)하고 튜플변경이 불가능(immutable)하다는 차이가 있습니다.
입력
number_list = [1, 2, 3] number_tuple = (1, 2, 3) number_list[1] = 4 print(number_list) number_tuple[1] = 4 print(number_tuple)
 
출력
# number_list [1, 4, 3] # number_tuple Traceback (most recent call last): File "/study.py", line 7, in <module> tuple[1] = 4 TypeError: 'number_tuple' object does not support item assignment

2. 튜플의 method

변경이 불가능 하기 때문에 사용 할 수 있는 method가 제한적입니다.
입력
t = (1, 2, 3, 4, 5, 6) t.count(1) t.index(5)
 
출력
1 4
입력
t = (1, 2, 3, 4) t = tuple('leehojun') t = 1, 2, 3, 4, 5 t = tuple() t = tuple(range(10)) t = (1) t = (1,) #원소를 하나씩 넣고 싶을 때는 콤마(,)를 사용해줍니다.
 
출력
(1, 2, 3, 4) ('l','e','e','h','o','j','u','n') (1, 2, 3, 4, 5) () (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 1 (1,)
 
값의 콤마를 넣는 것은 패키지 관리 프로그램에서 마지막에 콤마를 넣는 것을 버전업의 기준점으로 잡는 프로그램이 있고, 값을 추가 할 때 실수를 줄일 수 있기 때문에 실무에서 많이 사용하는 방법입니다.
installed_package = [ 'a', 'b', 'c', ]
 
입력
#리스트를 튜플로 변경하기 l = [1, 2, 3] t = tuple(l) t
 
출력
(1, 2, 3)
 
변경가능한 자료형을(예를 들어 튜플) 불가능한 자료형(예를 들어 리스트) 안에 넣는 것은 좋은 선택은 아닙니다. 리스트나 튜플에 값은 주로 그 형태를 맞춰 값을 넣어줍니다. 아래처럼 여러 개의 자료형을 같이 사용하는 경우는 드물다고 할 수 있습니다.
입력
test = ('hello world', [1, 2, 3], 1, 10, 10.1, (1, 2, 3))