PROGRESS
2 / 13
QUESTION 02 #302
넘파이 배열에서 인덱스 2번부터 4번까지의 값(3, 4, 5)을 추출하려고 합니다. 빈칸을 채우세요.
main.py
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
# 인덱스 2부터 특정 위치까지 추출
# 결과가 [3, 4, 5]가 되도록 빈칸을 채우세요.
sub_arr = arr[2:]
print(sub_arr)
HINT
힌트: 넘파이 배열에서 인덱스로 요소를 추출할때, [start:end]에서 end 인덱스에 해당하는 원소는 결과에 포함되지 않습니다.
실행 결과 예시
[3 4 5]
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
넘파이 배열 슬라이싱
넘파이 배열도 파이썬 리스트와 동일하게 슬라이싱(Slicing)으로 원하는 범위의 요소를 추출할 수 있습니다.
슬라이싱 기본 문법
arr[start : end]
- start : 시작 인덱스 (포함)
- end : 끝 인덱스 (미포함 ← 중요!)
인덱스 구조 이해
배열 : [1, 2, 3, 4, 5, 6]
인덱스: 0 1 2 3 4 5
arr[2:5]를 실행하면:
| 인덱스 | 값 | 포함 여부 |
|---|---|---|
| 2 | 3 | ✅ 포함 (start) |
| 3 | 4 | ✅ 포함 |
| 4 | 5 | ✅ 포함 |
| 5 | 6 | ❌ 미포함 (end) |
결과: [3, 4, 5]
다양한 슬라이싱 예시
| 코드 | 의미 | 결과 |
|---|---|---|
arr[:3] |
처음부터 인덱스 2까지 | [1, 2, 3] |
arr[3:] |
인덱스 3부터 끝까지 | [4, 5, 6] |
arr[:] |
전체 복사 | [1, 2, 3, 4, 5, 6] |
arr[::2] |
2칸 간격으로 | [1, 3, 5] |
arr[-2:] |
뒤에서 2개 | [5, 6] |
💡 핵심: end 인덱스의 요소는 결과에 포함되지 않습니다. "이상~미만"으로 기억하세요!