CLASS etc

Python

문자열 자르기 (시퀀스 슬라이싱 sequence slicing)

문자열 자르기 (시퀀스 슬라이싱 sequence slicing)

이번엔 문자열을 자르는 방법에 대해 알아보겠습니다.

이것을 시퀀스 슬라이싱(sequence slicing)이라고 부릅니다.

예를 들어서 pinkcoding에서 ever만 자른다던지 rdev 만 자른다던지 원하는 글자를 추출할 수 있습니다.

앞에서 문자열도 인덱스가 있다고했죠.

이 인덱스로 시작할 인덱스와 끝나는 인덱스를 조정할 수 있습니다.

시퀀스 슬라이싱 적용하기

myWord = "pinkcoding";
myWord[시작할 인덱스 이상 :끝날 인덱스 미만]

예를 들어

문자 p i n k c o d i n g
인덱스 0 1 2 3 4 5 6 7 9 10

pink만 자른다면 첫번째 pink의 첫번째 p는 0, k은 3입니다. 하지만 끝나는 인덱스는 미만이므로 3의 미만인 2까지 표시를 합니다. 그러므로 4를 넣어줍니다.

그렇다면 이렇게 하겠죠? [0:4]

즉 [0:3]이면 pin까지 나오며 [0:4]는 pink까지 나옵니다.

myWord = "pinkcoding"
print(myWord[0:4])

결과는 바로 아래에서 확인할 수 있습니다.







sequence slicing

의도대로 pink이 나옵니다. 다시한번 시작은 이상, 끝은 미만 기억하세요.

이 시퀀스 슬라이싱은 여러가지 규칙이 있습니다.

시퀀스 슬라이싱에서 숫자를 입력하지 않으면 기본값이 적용됩니다.

:의 앞을 안적으면 문자열의 처음, :의 뒤를 안적으면 문자열의 끝이 기본값이 됩니다.

그럼 해볼까요?

myWord = "pinkcoding"
print(myWord[:4])
print(myWord[4:])

결과는 바로 아래에서 확인할 수 있습니다.







sequence slicing

그럼 위의 결과를 보면 앞과 뒤 둘다 입력을 안하면 즉 [:]을 하면 처음과 끝이 기본값으로 되어 모두다 출력됩니다.

myWord = "pinkcoding"
print(myWord[:])

결과는 바로 아래에서 확인할 수 있습니다.







sequence slicing

그리고 자를 때 간격도 조정할 수 있습니다.

시퀀스 슬라이싱 간격 적용하기

세번째 값에 넣어줍니다.

myWord = "pinkcoding";
myWord[시작할 인덱스 이상 :끝날 인덱스 미만:간격]

간격을 2로 해봅시다.

myWord = "pinkcoding"
print(myWord[2::2])

결과는 바로 아래에서 확인할 수 있습니다.







sequence slicing



문자 p i n k c o d i n g
인덱스 0 1 2 3 4 5 6 7 9 10
표시 O O O O

결과가 ncdn이 나왔어요. p다음에 2개 띄어서 k가 나오는거 아니냐 생각하실 수 있는데 2를 더한 값으로 하셔야합니다.

그러니 실제 간격이 1이 됩니다.

이번엔 처음부터 끝까지 간격 3으로 해봅시다.

그럼 0 + 3 + 3 + 3 즉,

문자 p i n k c o d i n g
인덱스 0 1 2 3 4 5 6 7 9 10
표시 O O O 0

위의 표를 보니 pkdg가 나오면 정상이네요.

myWord = "pinkcoding"
print(myWord[::3])

결과는 바로 아래에서 확인할 수 있습니다.







sequence slicing

Good!! erv가 나옵니다. 너무 피곤하네요. 전 자야겠습니다. ㅜㅜ





댓글 0개

정렬기준

PinkCoding

PinkCoding

X

PinkCoding

Web Scratch Pad

X

loading

            
            
        

컨텐츠로 돌아가기