더북(TheBook)

여기서 보여준 슬라이싱에는 놀랄 만한 부분이 없다. 따라서 이런 형태를 자주 사용해도 좋다.

슬라이싱할 때 리스트의 인덱스 범위를 넘어가는 시작과 끝 인덱스는 조용히 무시된다. 이런 동작 방식으로 인해 코드에서 입력 시퀀스를 다룰 때 원하는 최대 길이를 쉽게 지정할 수 있다.

first_twenty_items = a[:20]
last_twenty_items = a[-20:]

반면 같은 인덱스에 직접 접근하면 예외가 발생한다.

a[20]

>>>
Traceback ...
IndexError: list index out of range

Note ≡

슬라이싱할 때 음수 인덱스를 사용하면 놀랄 만한 결과가 몇 가지 생길 수 있다는 점을 알아두라. 예를 들어 somelist[-n:]은 n이 0보다 큰 경우 잘 작동하지만(예: somelist[-3:]), n이 0이면 somelist[-0:]이라는 식이 somelist[:]과 같기 때문에 원래의 리스트를 복사한 리스트를 얻는다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.