본문 바로가기

Programming Language/Python

Python 슬라이스

* 슬라이스 예시

>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[2:8:3]    # 인덱스 2부터 3씩 증가시키면서 인덱스 7까지 가져옴
[20, 50]

 

a[i:j:k] 이면 i는 시작 index, j는 끝 index + 1, k는 index 증가폭이다.

각 i, j, k는 생략될 수 있다.

생략되면 i는 0번째 index, j는 a의 전체 길이, k는 증가폭 기본인 1이다.

 

 

* 슬라이스 증가폭을 -1로 설정하기

>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[5:1:-1]
[50, 40, 30, 20]

인덱스 증가폭을 음수로 설정하면 리스트를 뒤에서부터 가져올 수 있다.

주의할 점은 인덱스가 감소하므로 시작 인덱스를 끝 인덱스보다 크게 설정해야 한다.

 

>>> a[::-1]
[90, 80, 70, 60, 50, 40, 30, 20, 10, 0]

이와 같이 설정해주면 리스트 전체에서 인덱스를 1씩 감소시키면서 가져오므로, 결국 리스트를 뒤집게 된다.

이는 리스트 뿐 아니라 모든 시퀀스 객체에 적용된다.

 

 

출처: [파이썬 코딩 도장] 슬라이스 사용하기