Python에서 튜플(tuple)의 특정 요소에 접근하거나 일부분을 추출하려면 대괄호 [] 연산자를 사용합니다. 인덱싱은 튜플에서 하나의 요소를 가져오는 기능이며, 슬라이싱은 여러 요소를 한 번에 잘라내는 기능입니다.
튜플 인덱싱하기
인덱싱 시 양의 정수를 사용하면 왼쪽(앞)부터 해당 위치의 요소를 가져옵니다. 반대로 음의 정수를 사용하면 오른쪽(뒤)부터 역순으로 계산하여 해당 위치의 요소를 가져옵니다. 예를 들어 -1은 마지막 요소를 의미합니다.
예제
my_tuple = ('a', 'b', 'c', 'd')
print(my_tuple[1]) # 앞에서 두 번째 요소
print(my_tuple[-1]) # 뒤에서 첫 번째 요소출력 결과
b d
튜플 슬라이싱하기
튜플의 일부분을 추출하고 싶다면 슬라이싱 연산자인 [start:stop:step] 형식을 사용합니다. 각 항목의 의미는 다음과 같습니다.
- start: 슬라이싱을 시작할 인덱스 (생략 시 처음부터)
- stop: 슬라이싱을 종료할 인덱스 (이 인덱스는 포함되지 않음)
- step: 요소를 건너뛰는 간격 (생략 시 1)
예제
my_tuple = ('a', 'b', 'c', 'd')
print(my_tuple[1:]) # 인덱스 1부터 끝까지 출력
print(my_tuple[:2]) # 처음부터 인덱스 2 직전까지 출력
print(my_tuple[1:3]) # 인덱스 1부터 3 직전까지 출력
print(my_tuple[::2]) # 처음부터 끝까지 2칸씩 건너뛰며 출력출력 결과
('b', 'c', 'd')
('a', 'b')
('b', 'c')
('a', 'c')슬라이싱을 활용하면 범위 지정 없이 전체 튜플을 복사할 수도 있고(my_tuple[:]), 음수 인덱스와 조합하여 유연하게 데이터를 다룰 수 있습니다. 리스트와 달리 튜플은 불변(immutable) 자료형이므로, 인덱싱과 슬라이싱으로 값을 읽는 것만 가능하다는 점도 기억해 두세요.