본문 바로가기

dev/python

[python] 자료형 - 문자열(2) - 인덱싱, 슬라이싱

[python] 자료형 - 변수

[python] 자료형 - 숫자형

[python] 자료형 - 문자열(1) - 표현방식과 연산


인덱싱 (indexing)

 

인덱싱에 대해 공부하기 전에 알고 가야할 파이썬의 중요한 특징이 있다

 

파이썬은 숫자를 0부터 센다!

 

You need Python.

 

위 문자열에서 6번째 텍스트가 무엇인지 궁금할 때가 있을 수 있다

우리는 이 때 인덱싱을 통해 값을 얻을 수 있다

 

 

1
2
3
4
#1
a="You need Python."
print(a[6])
# e
cs

 

위와 같이 말이다

순서를 찾을 때는 아래와 같이 문자열의 문장부호와 공백을 모두 포함한다 

 

Y o u   n e e d   P y t h o n .
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1

대괄호 안에 음수 값을 집어넣는다면 위 표에 따라서 값이 출력되게 된다

 


슬라이싱 (slicing)

 

문자열에서 원하는 순서의 텍스트를 출력할 수 있다면

원하는 범위의 텍스트 전체를 추출할 수는 없을까?

이 때 슬라이싱을 통해서 값을 추출할 수 있다

 

기본적으로 문자열a가 있을 때

a[1:7:3] 의 뜻은 문자열a의 1번째 이상 2번째 미만의 텍스트를 3개 간격으로 추출하라 라는 뜻이다

~번째 이상 부분은 생략할 경우 문자열의 첫번째부터 추출한다

~번째 미만 부분은 생략할 경우 지정된 지점부터 문자열 끝까지 추출한다

간격은 생략할 수 있고 생략할 경우 1로 설정된다

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#1
a="김코딩 남자 19990823 세미콜론을 그리스어 물음표로 바꾼 뒤 도주"
name=a[:3]
sex=a[4:7]
birth=a[7:16]
feature=a[16:]
 
print("이름:"+name)
print("성별:"+sex)
print("생년월일:"+birth)
print("특징:"+feature)
 
 
# 이름:김코딩
# 성별:남자
# 생년월일:19990823
# 특징:세미콜론을 그리스어 물음표로 바꾼 뒤 도주
 
cs

 

효율적이진 않지만 위와 같이 활용할 수도 있다!