Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 리스트 인덱싱과 슬라이싱 방법 완벽 정리

파이썬에서 리스트(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 세 가지 값을 조합해 리스트의 원하는 범위를 유연하게 추출할 수 있습니다. 두 기능을 잘 활용하면 복잡한 데이터 구조도 손쉽게 다룰 수 있습니다.