Language/Python
[Python] slice & extended slice 표기법
Junhong Kim
2019. 1. 6. 23:57
728x90
반응형
l[::], l[1:2:3], l[::-1] 처럼 index에 접근하는 방법을 extended slice
라고 합니다.
l[A:B:C]
- index A부터 index B까지 C 간격으로 배열을 만들라는 의미
- index A가 None이면 처음부터(index가 0)이라는 의미
- index B가 None이면 마지막까지라는 의미
- index C가 None이면 하나씩이라는 의미
예제
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l[::2])
# 처음부터 끝까지 +두칸 간격으로
# [0, 2, 4, 6, 8]
print(l[1::2])
# 인덱스 1부터 끝까지 +두칸 간격으로
# [1, 3, 5, 7, 9]
print(l[::-1])
# 인덱스 마지막부터 끝까지 -한칸 간격으로
# [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(l[::-2])
# 인덱스 마지막부터 끝까지 -두칸 간격으로
# [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(l[2::-1])
# 인덱스 2부터 끝까지 -한칸 간격으로
# [2, 1, 0]
print(l[1:6:2])
# 인덱스 1부터 인덱스 6까지 +2두칸 간격으로
# [1, 3, 5]
References
https://docs.python.org/release/2.3.5/whatsnew/section-slices.html
http://kascia.tistory.com/3
728x90
반응형