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
반응형