14. 튜플(Tuples)은 순차 컬렉션으로 원소 값을 변경할 수 없어요.

안녕하세요. 언휴예요.

프로그래밍을 하다 보면 여러 개의 원소들로 구성하는 컬렉션(자료구조, 집합체)은 거의 필수적으로 필요합니다. Python에서는 튜플(Tuples), 리스트(List), 집합(Set), 사전(Dictionary) 등의 컬렉션을 제공하고 있어요.

이 중에서 튜플(Tuples)은 원소 값을 변경할 수 없는 순차 컬렉션이예요. 튜플은 선언하면서 원소 값을 지정합니다.  이 때 원소 값은 괄호 내부에 콤마로 구분하여 열거하여 설정합니다.

튜플 변수 = (원소, …)

튜플은 원소의 형식이 달라도 상관없어요. 그리고 다른 컬렉션을 원소로 갖을 수도 있어요. 주의할 점은 하나의 원소로만 구성할 때에는 콤마를 반드시 명시해야 한다는 것입니다. 다음은 튜플을 선언한 예입니다.

#튜플 선언하기
tup1 = (1,)
tup2 = (1,'a')
tup3 = (1, 'abc', (2,3,'ab'))
print(tup1)
print(tup2)
print(tup3)
[그림 1] 튜플 선언
[그림 1] 튜플 선언

튜플의 원소에 접근할 때는 변수명 뒤에 순번을 나타내는 인덱스를 대괄호로 묶어서 표현합니다. 여기에서 인덱스는 0부터 시작하는 것을 주의하세요. 참고로 튜플을 비롯한 컬렉션의 원소 개수를 구할 때는 len 내장 함수를 이용하세요.

#튜플의 원소에 접근하기

tup=(1,2,3,{'a','b','c'})
for i in range(0,len(tup)):
    print(tup[i])
[그림 2] 튜플의 원소 접근
[그림 2] 튜플의 원소 접근

만약 튜플의 부분 집합에 접근할 때도 튜플 변수[시작 인덱스:마지막 인덱스]를 표현합니다. 주의할 점은 마지막 인덱스를 포함하지 않습니다.

#튜플의 부분 원소에 접근하기

tup=(1,2,3,4,5,6,7)
print(tup[2:4])
[그림 3] 튜플의 부분 원소에 접근하기
[그림 3] 튜플의 부분 원소에 접근하기