AI/python

python slice :와 extended slice ::

bitpoint 2024. 4. 1. 16:31

:와, :: 모두 슬라이스를 의미하는 것이다. 숫자를 안 넣으면 디폴트값이 사용된다는 의미가 되고, 그에 따라서 굉장히 다양한 변주가 가능하지만 의미는 항상 아래와 같다. 시작, 끝, 그리고 간격

: start:end
:: start:end:step

 

1. slice 

a = [1,2,3,4,5]

print(a[:])
print(a[1:2])
print(a[:2])
print(a[1:])

 

[1, 2, 3, 4, 5]
[2]
[1, 2]
[2, 3, 4, 5]

 

2. extended slice

x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#처음부터 2칸간격씩 출력
print(x[::2])
>>[0, 2, 4, 6, 8]

#1번째부터 2칸간격씩 출력
print(x[1::2])
>>[1, 3, 5, 7, 9]

#5번째 이후 전체출력
print(x[5::])
>>[5, 6, 7, 8, 9]

#-3칸부터 끝까지
print(x[-3::])
>>[7, 8, 9]

#-3칸부터 -1칸까지
print(x[-3:-1])
>>[7, 8]

#처음부터 끝까지 -2간격으로 (뒤집어서 가져오기)
print(x[::-2])
>>[9, 7, 5, 3, 1]

#인덱스 0부터 6까지 2칸간격
print(x[0:6:2])
>>[0, 2 ,4]

출처: https://master-hun.tistory.com/237 [IT 미쳐버리다:티스토리]

'AI > python' 카테고리의 다른 글

list conprehension  (0) 2024.04.14
python 점표기법(dot notation)  (0) 2024.04.14
string.punctuation  (2) 2024.03.23
python 배열, 리스트 등에서 마지막 콤마의 의미  (0) 2024.03.23
cache화를 통한 속도 향상  (0) 2024.03.09