본문 바로가기

카테고리 없음

파이썬의 자료형과 문자열 part.2

728x90
반응형

지난 포스트에서는 자료형과 문자열의 연결과 반복을 알아보았습니다.

https://ktw2408.tistory.com/33?category=950839

 

파이썬의 자료형과 문자열 part.1

자료형은 개발자들이 쉽게 사용할 수 있도록 기능과 역할에 따라 자료로 구분한 형태이며 파이썬에서 사용할 수 있는 자료형은 다음과 같습니다. bool int float complex str tuple list dict function 파이썬

ktw2408.tistory.com

이번에 알아볼 내용은 문자열 선택과 슬라이싱입니다.

먼저 문자열 선택 연산자에 대해 알아보겠습니다.

문자 선택 연산자

대괄호([ ])를 사용하여 문자열 내부의 문자 위치를 지정할 수 있습니다. 

파이썬의 경우 리스트를 슬라이싱 할 때 인덱스가 시작하는 수는 포함하고 마지막 수는 배제한다고 합니다.

자세한 내용은 다음 블로그에 정리가 되어있으니 참고하시면 좋은 자료가 될것 같습니다.

https://nanite.tistory.com/56

 

0부터 시작하는 이유와 마지막 수를 인덱스로 포함하지 않는 이유

"Why numbering should start at zero" 1. 인덱스 넘버링 보통 프로그래밍 언어에는 자료구조로 사상되는 어떤 집합을 순회하면서 그 집합에서 꺼내온 원소를 가지고 정해진 연산을 차례대로 수행하기 위

nanite.tistory.com

다시 본론으로 돌아와서 

문자 선택 연산자와 반대의 결과를 각각 출력해보겠습니다.

문자선택 -정방향
문자 선택 - 반대 방향

정방향 출력의 경우 0부터 시작하여 마지막 숫자의 위치까지 지정한대로 순서에 맞게 [안녕하세요]가 한문장씩 출력된다.

[0] [1] [2] [3] [4]

반대의 경우 0에서 가까운 음수가 맨 끝자리로 가게되고 0에서 먼 음수가 앞자리에 위치하므로 [요세하녕안] 순서로 출력 되었다.

[-1] [-2] [-3] [-4] [-5]

 

다음으로 슬라이싱에 대해 알아봅시다. 

슬라이싱의 기호는 [:]를 사용하며 문자열의 특정 범위를 선택 할 때 사용합니다.

슬라이싱 기본형

다음 예시에는 문자열 "1주일버티기"와 [1:4]슬라이싱 범위가 있습니다. 먼저 제로 인덱스형으로 표현하였습니다.

1
[0] [1] [2] [3] [4] [5]

슬라이싱 범위가 [1:4]까지 지정되었습니다. 위 표에서 보면 [1:4]까지의 범위는 [주일버티]가 되는데요. 

과연 결과는 어떨까요?

결과

출력 결과 [주일버티]가 아닌 [주일버]가 출력 되었습니다. 

왜 [주일버]가 출력 되었을까요?

 

앞서 말씀드린 것 처럼 파이썬은 마지막 숫자를 포함하지 않기 때문입니다.

따라서 [주일버]가 출력 된것입니다.

 

슬라이싱 응용

다음 예시와 같이 범위가 [2:], [:3]으로 지정된 문자열의 출력은 어떻게 될까요?

출력에 앞서 이를 표로 나타내봅시다.

1
[0] [1] [2] [3] [4] [5]

1주일보내기의 범위는 [2:]입니다.

1
[0] [1] [2] [3] [4] [5] [6]

1주일계획하기의 범위는 [:3]입니다.

결과

먼저 [1주일보내기] 문자열은 2번째 순서부터 마지막 순서까지 범위를 나타내므로 [일보내기]가 출력되고,

[1주일계획하기]는 3번째 까지의 범위를 나타내므로 "계'를 제외한 [1주일]이 출력 됩니다.

 

마지막으로 len() 함수에 대해 알아봅시다. 

len()은 문자열의 길이를 뜻하며 괄호 안에 있는 문자의 개수를 세어줍니다.

len() 사용법

예시로 다음과 같이 작성해봅시다. 

결과를 확인해보면 문자의 개수가 17이라는 것을 확인 할 수 있습니다.

결과

문자열을 표로 나누어 보았습니다.

9   ,  
1 2 3 4 5 6 7 8 9
  1 8  
9 10 11 12 13 14 15 16 17

문자열 중간에 공백과 쉼표도 포함되기 때문에 17이 맞습니다.

 

이상으로 문자열 part.2 포스팅을 마무리 합니다.

728x90
반응형