파이썬에서 리스트(list)의 특정 요소에 접근하거나 일부분을 추출하려면 대괄호([]) 연산자를 사용합니다. 이 연산자는 크게 두 가지 방식으로 활용할 수 있는데, 하나는 단일 요소를 가져오는 인덱싱(indexing), 다른 하나는 여러 요소를 한 번에 가져오는 슬라이싱(slicing)입니다.
리스트 인덱싱 기본 원리
인덱싱 시 양수(positive integer)를 입력하면 리스트의 왼쪽부터 해당 위치의 요소를 가져옵니다. 반대로 음수(negative index)를 입력하면 리스트의 오른쪽부터 역순으로 요소를 가져옵니다. 예를 들어 -1은 마지막 요소를 의미합니다.
인덱싱 예제
my_list = ['a', 'b', 'c', 'd'] print(my_list[1]) # 왼쪽에서 두 번째 요소 print(my_list[-1]) # 오른쪽에서 첫 번째(마지막) 요소
실행 결과
b d
슬라이싱으로 리스트 일부 추출하기
리스트의 특정 구간을 잘라내고 싶다면 슬라이싱 연산자를 사용합니다. 기본 문법은 [start:stop:step] 형태입니다.
- start: 시작 인덱스 (생략 시 처음부터)
- stop: 종료 인덱스 (해당 인덱스는 포함되지 않음)
- step: 건너뛰기 간격 (생략 시 1)
슬라이싱 예제
my_list = ['a', 'b', 'c', 'd'] print(my_list[1:]) # 인덱스 1부터 끝까지 출력 print(my_list[:2]) # 처음부터 인덱스 2 직전까지 출력 print(my_list[1:3]) # 인덱스 1부터 3 직전까지 출력 print(my_list[::2]) # 처음부터 끝까지 2칸 간격으로 출력
실행 결과
['b', 'c', 'd'] ['a', 'b'] ['b', 'c'] ['a', 'c']
정리
인덱싱은 양수일 경우 앞에서부터, 음수일 경우 뒤에서부터 요소를 찾아가며, 슬라이싱은 start, stop, step 세 가지 값을 조합해 리스트의 원하는 범위를 유연하게 추출할 수 있습니다. 두 기능을 잘 활용하면 복잡한 데이터 구조도 손쉽게 다룰 수 있습니다.