문자열 인덱싱이란? : 문자열에서 한 글자를 가져오는 것을 말한다.
여기서 파이썬 인덱싱은 좌로 0부터, 우로 -1 부터 시작한다.
알기 쉽게 그림예제를 통해 살펴보자
"a"라는 문자열을 출력하게 되면 위에서 처럼 "Hi! Data" 라는 값이 나온다.
이를 인덱싱 관점으로 나열하게 된다면
이런 식으로 표현이 되며 인덱싱에는 공백도 포함이 된다.
두 번째 줄이 앞에서부터(0~7) 나열된 문자이고
세 번째 줄이 뒤에서부터(-1~-8) 나열된 문자이다.
각각의 출력 방법은 [ ] 를 사용하며 아래와 같다.
print(a[0]) = a의 문자열중 앞에서 0번째 문자를 출력하라는 뜻으로 해석
문자열 슬라이싱이란?
: 문자열에서 여러 글자를 가져오는 것, 무언가를 잘라내는 것으로도 이해할 수 있음
슬라이싱은 앞서 인덱스에서 사용된 [ ] 큰 괄호에 ":" 을 추가하여 사용할 수 있다.
예시 = a[ S : F ]
예시에서 S는 시작점을 말하고 F 는 끝 지점을 말한다.
한마디로 a의 문자열(Hi! Data)에서 S번째 위치부터 F번 위치의 문자까지 출력하라는 뜻이다.
주의할 점은 슬라이싱에서의 위치는 인덱싱에서와 개념이 약간 달라진다.
문자열 사이를 순번으로 매겨 위치를 판단하게 되는데
간단한 표로 차이점을 확인해보겠다.
a[0:3] = 0번위치의 문자부터 3번째 위치 까지 출력된다.
a[0:] = 0번위치부터 마지막 문자열까지 전부 출력된다.
a[:3] = 가장 첫 번째부터 3번째 앞까지의 문자 전부 출력된다. *처음과 끝은 공백으로 생략이 가능!
위에 표를 이용하여 연습문제의 출력 값을 예상해보자.
.
.
.
.
.
.
슬라이싱의 다른 기능 = [시작인덱스 : 끝인덱스 : 오프셋]
예시를 통해 해당 기능을 이해해보자.
정답을 해석해보면 처음과 끝은 공백으로 생략이 가능하다고 하였으니
시작인덱스는 맨처음, 끝인덱스는 맨끝, 오프셋은 2칸을 이용하여 출력하겠다는 말로 해석 가능하다.
여기서 오프셋이란 몇칸을 생략하고 출력을 이어갈것이냐 라는 뜻으로 이해 할 수 있다.
아래 표를 살펴보자.
2칸의 오프셋을 적용하였으니 0에서 2칸씩 넘어가면 흑 부분의 인덱스만 해당되는 것을 알 수 있다.
이를 이용하면 거꾸로 출력도 가능하다.
오프셋이 -1이다. 이는 끝에서부터 한칸씩 넘어가며 출력을 하겠다는 의미이다. 그렇다면 출력결과는 어떻게 되겠는가?
잠시 결과값이 무엇이 나올지 생각을 하고 밑에 결과를 확인 해보라.
.
.
.
.
.
.
.
.
.
.
.
.
'Python' 카테고리의 다른 글
Python(6) - 반복문(while, for, break, continue) (0) | 2020.08.21 |
---|---|
Python(5) - 조건문 알아보기(If, else, elif, pass) (0) | 2020.08.20 |
Python(4) - List(리스트)란? (0) | 2020.08.12 |
Python(3) - 문자열 포맷팅(%, format, f-string) (0) | 2020.08.11 |
Python(1) - 출력문 print(sep="" , end="") (0) | 2020.08.07 |