728x90
반응형

문자열 인덱싱과 문자열 슬라이싱에 대해서 공부하고 정리해보려고 한다.

또한 인덱싱과 슬라이싱은 리스트에서도 같은 방법으로 사용할 수 있다.

지금은 문자열을 가지고 인덱싱과 슬라이싱에 대해서 공부해보려고 한다.

 

문자열 인덱싱(Indexing)

문자열 인덱싱이란 문자열의 각 문자마다 Index, 번호를 통해 가져올 수 있다.

따라서, 문자열 인덱싱이란 각 문자마다 지정된 번호를 통해 가져오는 것을 말한다.

 

문자열 인덱싱이 어떻게 되어있는지 직접 확인해봤다.

결과를 확인해보면 총 15 자리의 문자로 되어있고 각 자리마다 번호가 정해져있는 것을 확인인할 수 있다.

 

예를 들어, 인덱스가 8 인 문자를 출력해보면 "T" 가 출력되는 것을 확인할 수 있다.

반대로 T 의 인덱스 번호가 몇 번인지도 확인해볼수 있다.

 

그럼 인덱스 번호 앞에 마이너스(-) 를 붙이면 어떻게 출력될까?

마이너스를 붙이면 인덱스 번호의 역순으로 출력할 수 있다.
-4 의 인덱스 번호는 14, 13, 12, 11 의 인덱스 번호를 가지고 있는 "t" 가 출력된다.

 

문자열 슬라이싱(Slicing)

문자열 슬라이싱이란 인덱스 번호를 통해 문자열을 원하는 문자 만큼 잘라서 가져오는 것을 말한다.

문자열 슬라이싱은 다음과 같이 사용해볼 수 있다.

str[start index : end index : step]

여기서 주의해야할 점은 end index 의 경우 end index 까지 출력되는 것이 아니라 end index 이전의 index 번호까지 출력된다는 것이다. 만약 end index 가 3이라면 index 2 까지 출력된다.

 

문자열 슬라이싱을 직접 사용해보면서 확인해봤다. 예제는 위에서 사용한 문자열 그대로 사용해봤다.

 

먼저 문자열을 잘라서 인덱스 0 부터 3까지 출력해봤다.

출력 결과를 확인해보니 인덱스 0번부터 2번까지 출력된 것을 확인할 수 있다.

아까 주의할 점에서도 말했듯이 마지막 인덱스 전까지 출력이 된다. 3인데 2까지 출력되는 것을 확인할 수 있다.

 

이번에는 step 을 -1 로 해서 거꾸로 출력해봤다.

결과를 확인해보니 3번 인덱스부터 거꾸로 출력된 것을 확인할 수 있다. 인덱스 3, 2, 1 까지 출력이 되었다.

 

그리고 인덱스를 따로 지정하지 않아도 출력이 되는 것을 확인할 수 있다.

 

그리고 시작 인덱스와 마지막 인덱스를 둘 다 입력하지 않고 하나만 입력해도 출력할 수 있다.

반대로 시작 인덱스만 입력하면 시작 인덱스부터 끝까지 출력된다.

 

그리고 역순으로 출력하기 위해서 이렇게도 사용해볼 수 있다.

 

이렇게 인덱싱과 슬라이싱을 통해 다양하게 사용해볼 수 있다.
각 상황에 맞게 원하는 문자를 출력하기 위해서 인덱싱과 슬라이싱을 잘 활용한다면 쉽게 출력해볼 수 있을 것 같다.

 

 

- 참고 사이트

https://securityspecialist.tistory.com/60

 

1. 파이썬(Python) 문자열2(인덱싱,슬라이싱,포매팅,함수)

4. 문자열 인덱싱 및 슬라이싱- 인덱싱(Indexing)이란 무엇인가를 ‘가르킨다’라는 의미입니다.- 슬라이싱(Slicing)이란 무엇인가를 ‘잘라낸다’라는 의미입니다. 4_1. 문자열 인덱싱이란?>>> string =

securityspecialist.tistory.com

https://realpython.com/lessons/indexing-and-slicing/

 

Indexing and Slicing – Real Python

In this video, you’ll practice list indexing and slicing. The elements of a list can be accessed by an index. To do that, you name the list, and then inside of a pair of square brackets you use an index number, like what I’m showing right here. That…

realpython.com

 

728x90
반응형
복사했습니다!