슬라이싱(Slicing)은 리스트, 문자열 등에서 원하는 부분만 선택해서 가져오는 방법입니다. 슬라이싱을 사용하면 데이터의 특정 부분을 쉽게 추출할 수 있습니다.
슬라이싱은 다음과 같은 형식으로 사용됩니다:
data[start:stop:step]
먼저 대부분의 프로그래밍에서는 이상 미만의 구조로 함수나 규칙이 정해져 있습니다.
start 와 stop 이 있다면, 로 a 는 포함하고 b 는 포함하지 않는 형태로 구현하게 되는데요.
따라서 data[start:stop:step] 을 사용할 경우, data[start] 는 포함되지만, data[stop] 은 포함되지 않는다고 보시면 됩니다.
이 규칙을 이해하고 있으면, 다른 프로그래밍 언어나 내장 함수의 파라미터 구조를 이해할 때 도움이 될거에요!
예시: 리스트 슬라이싱
# 예제 리스트
fruits = ["apple", "banana", "cherry", "date", "elderberry", "fig", "grape"]
# 특정 부분 가져오기
print(fruits[1:4]) # ['banana', 'cherry', 'date']
위 코드에서 fruits[1:4]는 인덱스 1부터 3까지의 요소를 가져옵니다. 인덱스 4의 요소는 포함되지 않습니다. (이상 미만 규칙, )
슬라이싱의 다양한 예
print(fruits[:3]) # ['apple', 'banana', 'cherry']
여기서는 start 값을 생략했으므로 리스트의 처음부터 인덱스 3 전까지의 요소를 가져옵니다.
print(fruits[3:]) # ['date', 'elderberry', 'fig', 'grape']
여기서는 stop 값을 생략했으므로 인덱스 3부터 리스트의 끝까지의 요소를 가져옵니다.
print(fruits[:]) # ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape']
start와 stop 값을 모두 생략하면 리스트의 모든 요소를 가져옵니다.
print(fruits[::-1]) # ['grape', 'fig', 'elderberry', 'date', 'cherry', 'banana', 'apple']
여기서는 step 값을 -1로 설정하여 리스트를 거꾸로 가져옵니다.
print(fruits[::2]) # ['apple', 'cherry', 'elderberry', 'grape']
여기서는 step 값을 2로 설정하여 한 요소 건너 하나씩 가져옵니다.
문자열 슬라이싱
리스트뿐만 아니라 문자열에서도 슬라이싱을 사용할 수 있습니다.
text = "Hello, world!"
# 문자열의 특정 부분 가져오기
print(text[7:12]) # 'world'
여기서 text[7:12]는 문자열에서 인덱스 7부터 11까지의 문자를 가져옵니다. 인덱스 12의 문자는 포함되지 않습니다. (이상 미만 규칙, )
이제 슬라이싱을 잘 이해할 수 있겠죠?
슬라이싱을 사용하면 데이터의 특정 부분을 쉽게 추출하고 조작할 수 있습니다!
유용하게 활용해보세요!