반응형
Python의 slice는 시퀀스 데이터 타입(리스트, 문자열, 튜플 등)에서 특정 범위의 데이터를 쉽게 추출하거나 수정할 수 있는 강력한 도구입니다.
특히 데이터 분석에서 특정 데이터를 처리할 때 정말 잘 사용이 됩니댜.
예를 들어 주소의 경우 "서울시"에서 "서울"만 얻어서 정규표현식에 넣고 싶은 경우에도 이 슬라이스를 사용하게 됩니다.
그래서 이 글에서는 slice의 기초적인 사용법부터 고급 활용법까지 자세히 알아보겠습니다.
1. Slice 기본 개념
slice는 시퀀스 자료형에서 특정 부분을 잘라내는 기능을 제공합니다. 기본 문법은 아래와 같습니다.
sequence[start:stop:step]
매개변수 설명
- start: 슬라이스의 시작 인덱스 (포함)
- stop: 슬라이스의 끝 인덱스 (포함하지 않음)
- step: 슬라이스의 간격 (기본값은 1)
2. Slice 기초 사용법
리스트에서 슬라이스
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 인덱스 2부터 5(포함하지 않음)까지 슬라이스
sub_list = numbers[2:5]
print(sub_list) # [2, 3, 4]
문자열에서 슬라이스
text = "Hello, World!"
# 인덱스 0부터 5(포함하지 않음)까지 슬라이스
greeting = text[0:5]
print(greeting) # "Hello"
3. Slice의 확장된 사용법
1) step 사용하기
step을 활용하면 간격을 지정하여 슬라이스할 수 있습니다.
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 2칸씩 건너뛰며 슬라이스
stepped = numbers[::2]
print(stepped) # [0, 2, 4, 6, 8]
# 역순으로 슬라이스
reversed_list = numbers[::-1]
print(reversed_list) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
2) start와 stop 생략하기
start와 stop은 생략 가능하며, 기본값은 시퀀스의 시작과 끝입니다.
# 리스트의 처음부터 5번째까지
print(numbers[:5]) # [0, 1, 2, 3, 4]
# 리스트의 5번째부터 끝까지
print(numbers[5:]) # [5, 6, 7, 8, 9]
4. Slice 객체 사용하기
slice 객체를 사용하면 가독성을 높이거나 동적으로 슬라이스 범위를 지정할 수 있습니다.
slice 객체 생성
s = slice(2, 5)
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# slice 객체를 활용한 슬라이스
sub_list = numbers[s]
print(sub_list) # [2, 3, 4]
Slice 객체 속성
slice 객체는 start, stop, step 속성을 제공합니다.
s = slice(1, 10, 2)
print(s.start) # 1
print(s.stop) # 10
print(s.step) # 2
5. 슬라이스를 활용한 고급 팁
1) 다차원 배열에서 슬라이스
다차원 배열에서는 인덱스별로 슬라이스를 사용할 수 있습니다.
import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 첫 두 행과 두 열을 슬라이스
print(array[:2, :2])
# [[1 2]
# [4 5]]
2) 슬라이스를 통한 데이터 수정
슬라이스는 데이터를 수정하는 데에도 유용합니다.
numbers = [0, 1, 2, 3, 4, 5]
# 인덱스 2부터 4까지를 다른 값으로 교체
numbers[2:5] = [20, 30, 40]
print(numbers) # [0, 1, 20, 30, 40, 5]
3) 슬라이스로 삭제하기
슬라이스를 이용하여 특정 범위를 삭제할 수도 있습니다.
numbers = [0, 1, 2, 3, 4, 5]
# 인덱스 2부터 4까지 삭제
del numbers[2:5]
print(numbers) # [0, 1, 5]
6. 마무리
Python의 slice는 간단하면서도 강력한 도구로, 데이터를 처리하는 데 있어 효율성을 극대화할 수 있습니다. 기본적인 슬라이스 문법부터 고급 활용법까지 이해하면 데이터 조작에서 많은 시간을 절약할 수 있습니다.
지금 바로 코드로 연습해 보세요! 😃
위 글을 참고해 Python의 slice를 배우고 활용해 보세요. 추가 질문이나 의견이 있다면 댓글로 남겨주세요!
반응형
'테크 > python basic' 카테고리의 다른 글
조건문과 반복문: if, for, while 완벽 가이드 (1) | 2025.01.17 |
---|---|
Python의 연산자: 산술, 비교, 논리 연산자를 이해하자 (0) | 2025.01.17 |
Python의 변수 활용과 객체 지향 프로그래밍 (OOP) (0) | 2025.01.16 |
Python의 주요 데이터 타입: 리스트, 튜플, 딕셔너리, 집합, Bool (0) | 2025.01.16 |