[Python]슬라이싱(Slicing) 사용하여 리스트, 문자열 자르기

2022년 06월 11일 by 진아사랑해

    [Python]슬라이싱(Slicing) 사용하여 리스트, 문자열 자르기 목차
반응형

시퀀스 객체(문자열, 리스트, 튜플 등)에서 원하는 부분만 추출할 수 있는 기능입니다.

문자열을 중심으로 설명을 하면

슬라이스에서 문자열 또는 리스트 등 모든 것의 맨 처음 시작은 0으로 시작합니다

str[start: end: step]이 기본 구조로서

잘라내기 할 시작점(start), 끝(end), step(건너뛰기)로 구성됩니다

주의하여야 할 부분은 end 는 가져올 문자열에서 비정한 end-1 까지 가져옵니다.

위 예제에서 시작 인덱스는 0, 끝 인덱스는 1-1= 0 즉, 0번째인 '나'만을 가져옵니다

 

끝 인덱스가 2임으로 2-1=1 즉, 첫번째 그리고 두번째 문자를 가져옵니다

 

중간에 있는 문자열을 가져오는 경우에

 

시작과 끝의표시에 음수(-)를 사용할 수 있습니다

시퀀스 자료형(여기서는 문자열)의 맨 마지막을 나타내는 것이 '-1'입니다.

첫번째 예제는 끝이 -1임으로 -1-1= -2 즉, 마지막 문자를 뺀 나머지를 출력합니다.

두번째 예문은 거꾸로 슬라이싱을 한 예제입니다.

 

시작 또는 끝을 생략할 수 있습니다.

시작을 생략하면 '0부터'로 인식하고 끝을 생략하면 '마지막'까지로 인식합니다

위의 예문이 끝을 생략한 것이고, 아래 예문이 시작을 생략한 것입니다.

 

데이터에서 특정 단계만큼 건너뛴 다음에 데이터를 가져오는 것입니다.

첫번째 예문은 1단계만을 뛰었음으로 전체를 가져오고

두번째 예문은 2단씩 뛴 결과를 보여줍니다('나 교 다' -> 총 5자를 가져온 것입니다)

 

단계도 음수(-)를 사용할 수 있습니다.

이렇게 작성하면 문자열 예문을 거꾸로 만들 수 있습니다.

 

위 예문은 

idx가 20 미만이면 content에서 idx+4부터 시작하여 맨 끝으로 부터 역으로 31번째 까지만 저장하라는 의미입니다.

idx가 20 이상이면 처음부터 시작하여 맨 끝으로 부터 역으로 11번째 까지만 저장하라는 의미입니다.

즉, 맨 마지막 10개를 제거하라는 의미입니다.

 

즐거운 시간되세요

 

반응형