- 리스트, 문자열, 튜플 같은 시퀀스 자료형에서 특정 부분을 잘라내어 새로운 시퀀스를 만드는 기능입니다.
- 슬라이싱은 콜론(:)을 사용하여 시작점, 끝점, 스텝을 지정할 수 있으며, 매우 유연하고 강력한 기능을 제공합니다.
sequence[start:end:step]
- start: 슬라이싱을 시작할 인덱스입니다. 생략하면 처음부터 시작합니다.
- end: 슬라이싱을 멈출 인덱스(포함되지 않음)입니다. 생략하면 끝까지 슬라이싱합니다.
- step: 슬라이싱할 때 인덱스를 건너뛰는 간격입니다. 생략하면 1씩 증가합니다.
주요 규칙:
- start는 포함되고 end는 포함되지 않는다: 슬라이싱은 [start, end ] 범위를 반환합니다. 즉, start는 포함되지만 end는 포함되지 않습니다.
- step이 음수이면 역방향: 음수를 사용하면 시퀀스를 거꾸로 슬라이싱할 수 있습니다.
# 리스트 슬라이싱 예시
my_list = [0, 1, 2, 3, 4, 5]
# 1번 인덱스부터 3번 인덱스까지 슬라이싱 (end는 포함되지 않음)
print(my_list[1:4]) # [1, 2, 3]
# start 생략: 처음부터 2번 인덱스까지
print(my_list[:3]) # [0, 1, 2]
# end 생략: 2번 인덱스부터 끝까지
print(my_list[2:]) # [2, 3, 4, 5]
# 양쪽 생략: 리스트 전체
print(my_list[:]) # [0, 1, 2, 3, 4, 5]
# step을 사용한 슬라이싱: 2칸씩 건너뛰며 슬라이싱
print(my_list[::2]) # [0, 2, 4]
# 역방향 슬라이싱: 리스트를 거꾸로 반환
print(my_list[::-1]) # [5, 4, 3, 2, 1, 0]
# 문자열 슬라이싱 예시
my_str = "hello"
print(my_str[1:4]) # 'ell'
print(my_str[::-1]) # 'olleh'
'Python' 카테고리의 다른 글
튜플 ( tuple ) (0) | 2024.10.10 |
---|