문자열 인덱싱
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 |