본문 바로가기

사전학습 Python

5. 문자열 인덱싱, 슬라이싱

문자열 인덱싱

더보기

print("index"[0]) #i
print("index"[-5]) #i
print("index"[-4] )#n
print("index"[-3]) #d
print("index"[-2]) #e
print("index"[-1]) #x

str_= "String index"
print(str_[0]) #S
print(str_[11]) #x
print(str_[12]) #IndexError

 

슬라이싱

슬라이싱을 이용하여 n번째 글자부터 m번째 글자까지 출력하려면?


인덱스는 0부터 시작하기 때문에
인덱스(n-1)부터 인덱스(m-1)까지가 된다.

더보기

str_slice = "0123456789"

print(str_slice[0])   # 1번째 글자 = [0] = 0
print(str_slice[9])   #10번째 글자 = [9] = 9

그러나 [(n-1):(m-1)]은 
마지막 문자인 인덱스(m-1)을 출력하지 않는다.

따라서 1을 더해주어
[(n-1):(m)]이 된다.

더보기

print(str_slice[0:9]) #012345678

print(str_slice[0:10]) #0123456789

 

슬라이싱에서 공백

-> 끝까지란 의미 이다.

더보기

print(str_slice[:]) #0123456789
print(str_slice[0:] )#0123456789
print(str_slice[:10]) #0123456789

 

음수 슬라이싱

더보기

 0   1  2 ... 7 8 9       문자
 1   2  3 ... 8 9 10     번째 글자
-10 -9 -8 ...-3 -2 -1   인덱스

t= 총 글자 수 라고 하면
1번째 글자는 [ -t]이고,
t번째 글자는 [ -1]이다.

n번째 글자는 [( n - t - 1)]이다.

 

더보기

print(str_slice[-10:-1])  #012345678
print(str_slice[-10:])  #0123456789

 

따라서 n번째 글자부터 n'번째 글자까지 출력하는 것은
print(str[( n - t - 1 ):( n' - t )])가 된다.

더보기

print(str_slice[-8:-2]) #234567

 

(그리고 이유는 모르겠지만 [음수:0]은 출력이 안 된다.)

 

0번 요소부터 10번 요소까지 2개씩 끊어서 가져옴

더보기

str_slice2 = "0123456789"
print(str_slice2[0:10:2])   #02468

 

 

제일 뒤에서부터 3개씩 끊어서 가져옴 

더보기

print(str_slice2[::-3])   #9630

'사전학습 Python' 카테고리의 다른 글

7.문자열 메서드  (0) 2023.03.14
6. 포메팅  (0) 2023.03.12
4. 산술, 비교, 논리 연산자  (0) 2023.03.05
3. 자료형 및 Print함수  (1) 2023.03.05
2. 변수 사용 및 식별자 명명 규칙  (0) 2023.02.24