본문으로 바로가기

파이썬 인덱싱,슬라이싱(문자열,리스트)

category Python 2018. 6. 18. 17:24

파이썬에서는 인덱싱 과 슬라이싱이 있따.


인덱싱은 문자열이나 리스트에 번호를 부여하는것이다.


문자열



예를들어

hello python world

는 아래와같이 나타 낼 수 있습니다.

양수 인덱스는 0번부터, 음수는 -1부터 역순으로 부여된다고 보면 된다.


이 인덱스를 이용하여 원하는 문자열을 뽑아 낼 수 있다.


내가 hello 만 뽑고싶으면 어떻게 하면 될까?

str = hello python world
>>> str[0:5]
'hello'
>>> str[-18:-13]
'hello'

이와 같이 [시작번호:끝번호] 를 사용하여 문자열을 뽑는걸 슬라이싱 하는것이라 한다.


python 만 뽑고싶으면 

>>> str[6:12]
'python'
>>> str[-12:-6]
'python'

이렇게 슬라이싱 하면된다.


시작과 끝인덱스를 정하지 않아도 슬라이싱 할 수 있다.


시작번과 끝번을 지정하지 않으면 가장 처음, 가장 마지막 인덱스를 가리킨다.

>>> str[:12]
'hello python'
>>> str[6:]
'python world'

슬라이싱의 시작번 인덱스와 끝번 인덱스를 비우고 실행하면 이렇게 처음~12 , 6~마지막 을 슬라이싱 해 준다.


그리고 슬라이싱의 또 다른 방법으로 step 을 지정 해 줄 수 있다.


step 은 슬라이싱의 세번째 인자로 정해줄 수 있으며, step 으로 정해준 크기만큼 인덱스를 건너뛰며 가져온다.

>>> str[6:12:2]
'pto'
>>> str[-18::3]
'hlph r'



문자열과 마찬가지로 리스트도 슬라이싱 할 수 있다.


리스트



arr = ['hello','python','world']

리스트도 슬라이싱해보자.

>>> arr[0:2]
['hello', 'python']
>>> arr[1:]
['python', 'world']
>>> arr[-1:]
['world']
>>> arr[::2]
['hello', 'world']