happy cat image

everdevel

coding

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.
























everdevel이 만든 무료 클라우드 개발환경을 소개합니다.

방문해 주셔서 감사합니다.

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

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

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

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

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

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

시퀀스 슬라이싱 적용하기

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

예를 들어

문자 e v e r d e v e l
인덱스 0 1 2 3 4 5 6 7 9

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

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

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

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

결과는 바로 아래에서 확인하겠습니다.

sequence slicing

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

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

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

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

그럼 해볼까요?

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

결과는 바로 아래에서 확인하겠습니다.

sequence slicing

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

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

결과는 바로 아래에서 확인하겠습니다.

sequence slicing

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

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

세번째 값에 넣어줍니다.

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

간격을 2로 해봅시다.

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

결과는 바로 아래에서 확인하겠습니다.

sequence slicing



문자 e v e r d e v e l
인덱스 0 1 2 3 4 5 6 7 9
표시 O O O O

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

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

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

그럼 0 + 3 + 3 + 3 즉,

문자 e v e r d e v e l
인덱스 0 1 2 3 4 5 6 7 9
표시 O O O

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

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

결과는 바로 아래에서 확인하겠습니다.

sequence slicing

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


봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.

컨텐츠의 내용을 더 보려면 바로 아래에서 확인할 수 있습니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준