본문 바로가기

나의 백과사전

리스트 슬라이스 (list slicing)

출처: http://inventwithpython.com/chapter9.html


리스트의 아이템에서 일부분을 가져오는 것을 리스트자르기 '리스트 슬라이스'라고 한다.


슬라이스(slicing)는 원래의 리스트에서 중복된 리스트를 또 만드는데 모든 아이템을 가지고 만들 수도 있고


일부의 아이템을 가지고도 만들 수 있다.


코드에서는 인덱스 2개 (시작과 끝)지정하고 사이에 :을 놓는다.


예를 들어 다음을 셀에서 테스트해 보자.


1
2
3
4
>>> spam = ['apples', 'oranges', 'pears', 'bananas']
>>> eggs = spam[1:3]
>>> eggs
['oranges', 'pears']


spam[0:2]는 spam 리스트의 아이템에서 인덱스 0부터 2까지 (포함하지는 않는다) 가져온다.

그리고 작아진 리스트를 eggs 같은 변수에 저장할 수 있다.



1
2
3
>>> spam = ['apples', 'oranges', 'pears', 'bananas']
>>> spam[:3]
['apples', 'oranges', 'pears']

만약 첫 번째 인덱스를 지정하지 않으면, 파이썬은 자동으로 인뎃스 0부터 가져오도록한다.


1
2
3
>>> spam = ['apples', 'oranges', 'pears', 'bananas']
>>> spam[1:]
['oranges', 'pears', 'bananas']

만약 두 번째 인덱스를 생략하면 파이썬은 자동으로 리스트의 가장 끝 아이템을 가져온다.


다음을 셸에서 입력해 보자.


1
2
3
4
5
6
7
8
>>> myName = 'Zophie the Fat Cat'
>>> myName[4:12]
'ie the F'
>>> myName[:10]
'Zophie the'
>>> myName[7:]
'the Fat Cat'
>>> 


리스트에서 아이템의 일부분을 가져올 때 슬라이싱을 이용하면 편리하다.

리스트에서와 마찬가지로 문자열에서도 슬라이싱을 사용할 수 있다.

문자열의 각 문자를 리스트의 아이템과 동일하게 처리한다.