기본 패턴
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 같은 성질로 감각을 익혀 두면 도움이 됩니다.