반응형
Chapter 01. 자료구조
리스트 슬라이싱 완전 정리
1. 주요 개념 요약
리스트 슬라이싱
- 리스트[n:m] 형태로 특정 구간의 아이템만 추출하는 기능
- n번째 인덱스는 포함, m은 포함되지 않음 → n ≤ index < m
예:
students[2:4] → ['이용규', '강호동']
문자열 슬라이싱
- 리스트와 동일한 방식으로 문자열에서도 사용 가능
- "Hello"[1:4] → 'ell'"
단계 슬라이싱(step)
- 리스트[n:m:step] 형태
- 일정 간격으로 요소를 추출할 수 있음
예:
numbers[0:10:2] → 짝수 인덱스만 추출
슬라이싱을 이용한 데이터 변경
- 기존 슬라이스 구간에 새로운 리스트를 대입하면 해당 구간이 통째로 변경됨
예:
students[1:3] = ['새친구']
slice() 함수
- 슬라이싱을 함수 형태로 표현
- 유용한 패턴:
- slice(start, stop)
- slice(start, stop, step)
예:
students[slice(2, 4)] → ['이용규', '강호동']
2. 코드 예시 모음
① 기본 슬라이싱
students = ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
print(students[2:4])
# ['이용규', '강호동']
② 문자열 슬라이싱
text = "PYTHON"
print(text[1:5])
# YTHO
③ 단계(step) 사용
nums = [0,1,2,3,4,5,6,7,8,9]
print(nums[0:10:2])
# [0, 2, 4, 6, 8]
④ 슬라이싱으로 값 변경
students[1:3] = ['새학생1', '새학생2']
print(students)
⑤ slice() 함수로 슬라이싱
students = ['홍길동','박찬호','이용규','강호동','박승철','김지은']
print(students[slice(2,4)])
print(students[slice(4)])
print(students[slice(2, len(students))])
print(students[slice(len(students)-5, len(students)-2)])
출력
['이용규', '강호동']
['홍길동', '박찬호', '이용규', '강호동']
['이용규', '강호동', '박승철', '김지은']
['박찬호', '이용규', '강호동']
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
리스트 슬라이싱은 데이터 분석과 알고리즘 구현에서 자주 사용하는 핵심 기능이라는 점을 다시 한 번 느꼈다. 인덱스를 기준으로 필요한 데이터만 골라낼 수 있다는 점이 굉장히 효율적이며, 문자열에도 동일하게 적용할 수 있다는 점이 편리하다. 또한 step을 활용하면 규칙적인 패턴을 쉽게 추출할 수 있고, 슬라이싱을 이용해 특정 영역의 데이터를 통째로 변경할 수도 있어 데이터 전처리 작업에서도 다양하게 활용할 수 있음을 이해하게 되었다. 마지막으로 slice() 함수를 사용하면 슬라이싱을 더 동적으로 다룰 수 있어서 함수형 코드나 재사용성 높은 코드를 작성할 때 유용하다는 점도 확실히 알게 되었다.
🚀 적용점
- 데이터프레임이나 배열 전처리 시 구간별 데이터를 뽑아낼 때 적극 활용
- 문자열 포맷팅, 일부 텍스트 추출 등 텍스트 처리 작업에서 사용
- 알고리즘 문제에서 “특정 구간만 처리”하는 상황에 즉시 적용
- step 기능을 이용해 규칙성 있는 데이터 패턴 분석에 활용
- slice()를 사용해 슬라이싱 구간을 변수로 처리하며 유연성 확보
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -10 (0) | 2025.12.07 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -09 (0) | 2025.12.06 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -07 (0) | 2025.12.03 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -06 (0) | 2025.12.02 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -05 (0) | 2025.12.01 |