Python컬렉션과 문자열

슬라이싱과 인덱싱

문자열과 리스트에서 위치를 기준으로 값을 읽고 잘라내는 Python 인덱싱과 슬라이싱의 핵심 규칙을 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

python
word = "python"
numbers = [10, 20, 30, 40, 50]

word[0]      # "p"
word[-1]     # "n"
word[1:4]    # "yth"
numbers[::2] # [10, 30, 50]

설명

  • 인덱싱은 한 위치의 값 하나를 꺼내고, 슬라이싱은 범위에 해당하는 부분을 잘라냅니다.
  • Python에서 시작 인덱스는 포함되고 끝 인덱스는 포함되지 않습니다.
  • 음수 인덱스는 뒤에서부터 셉니다. -1은 마지막 원소를 뜻합니다.
  • 슬라이싱은 start:stop:step 구조를 가지며, 필요한 값만 생략해서 쓸 수 있습니다.

짧은 예제

python
text = "computer"

print(text[:3])    # com
print(text[3:])    # puter
print(text[::-1])  # retupmoc

빠른 정리

표현의미
seq[i]위치 i의 값 하나
seq[a:b]a 이상 b 미만 구간
seq[:b]처음부터 b 미만
seq[a:]a부터 끝까지
seq[::k]간격 k로 추출

공식 참고: An Informal Introduction to Python, Data Structures

주의할 점

슬라이싱에서 끝 인덱스가 포함되지 않는다는 규칙을 놓치면 오프바이원 실수가 자주 납니다. s[:i] + s[i:] == s 같은 성질로 감각을 익혀 두면 도움이 됩니다.