출처: 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' >>> |
리스트에서 아이템의 일부분을 가져올 때 슬라이싱을 이용하면 편리하다.
리스트에서와 마찬가지로 문자열에서도 슬라이싱을 사용할 수 있다.
문자열의 각 문자를 리스트의 아이템과 동일하게 처리한다.
'나의 백과사전' 카테고리의 다른 글
연산 생략 (건너뛰기 평가) (Short-Circuit Evaluation) (0) | 2014.09.25 |
---|---|
루프 언롤링 ( loop unrolling ) (0) | 2014.09.19 |
문자열 접합 (string concatenation) (0) | 2014.09.18 |
플로우 차트 (flow chart) (0) | 2014.09.13 |
디버거 (Debugger) (0) | 2014.09.13 |