튜플(tuple)
튜플(tuple)
앞에서 살펴본 자료형들은 하나의 변수에 딱 하나의 값만을 저장할 수 있습니다.
하지만 이번에 살펴볼 튜플, 딕셔너리, 리스트, 집합과 같은 자료형에는 여러 데이터를 동시에 저장할 수 있습니다.
튜플(tuple)은 그 중 제일 단순한 자료형으로, 소괄호((, ))로 데이터들을 감싸서 표현합니다.
튜플에는 0개 이상의 원소를 저장할 수 있습니다.
이때 각 원소의 자료형은 같지 않아도 되며, 다른 튜플까지도 포함할 수 있습니다.
대신 한 번 튜플이 생성되면 그 내부의 원소를 삭제하거나 수정할 수는 없습니다.
프로그램 실행 중 절대 변하지 않거나 변해서는 안되는 여러 값들이 있다면 튜플에 저장하여 사용하는 것이 좋습니다.
예제
t1 = (1,"hello")
t2 = (3,4.22)
t3 = t1 + t2
t4 = t1 * 3
e = t3[1]
print(t1)
print(t2)
print(t3)
print(t4)
print(e)
실행결과
(1, 'hello')
(3, 4.22)
(1, 'hello', 3, 4.22)
(1, 'hello', 1, 'hello', 1, 'hello')
hello
위의 예제에서 변수 t1에는 1과 "hello"라는 서로 다른 자료형의 데이터가 저장되어 있습니다.
마찬가지로 변수 t2에는 정수형 데이터와 실수형 데이터가 함께 저장되어 있습니다.
변수 t3에는 변수 t1과 t2를 더한 값이 저장됩니다.
파이썬에서 튜플끼리의 더하기 연산(+)은 두 튜플을 원소로 가지는 새로운 튜플을 생성하는 것이 아니라 두 튜플의 원소만을 순서대로 가지는 새로운 튜플을 생성하여 반환합니다.
변수 t4에는 변수 t1과 3을 곱한 값이 저장됩니다.
튜플과 정수의 곱하기 연산(*)은 해당 튜플의 원소를 정수만큼 반복하여 연결한 새로운 튜플을 생성하여 반환합니다.
튜플은 데이터들의 묶음이므로 원소에 저장된 실제 데이터에 접근하려면 대괄호([, ])를 사용해야 합니다.
이때 대괄호 사이에 사용되는 숫자를 인덱스(index)라고 하며, 이러한 인덱스는 0부터 시작하는 정수값으로 표현됩니다.
튜플의 첫 번째 원소는 인덱스가 0이 되며, 인덱스가 1이면 두 번째 원소에 저장된 값을 반환하게 됩니다.
따라서 위의 예제에서 변수 e에는 튜플의 두 번째 원소가 저장되어 "hello"가 출력되게 됩니다.