반응형
슬라이싱 구문, Array[:] & Array[::]
':'와 '::'는 파이썬에서 슬라이싱할 때 사용하는 인덱스 간격을 나타내는 역할을 하는 구분자(delimiter)입니다. 이 구분자를 통해 리스트, 문자열, 튜플 등에서 일정 간격으로 요소를 선택하는 기능을 제공합니다. 이를 슬라이싱 구문(slicing syntax)이라고도 부릅니다.
설명 1
':'은 파이썬에서 슬라이싱(slicing)을 할 때 사용되며, 리스트에서 일부분을 추출할 때 사용합니다. 리스트의 인덱스는 0부터 시작하며, [시작 인덱스:끝 인덱스] 형식으로 사용합니다. 이때, 시작 인덱스는 포함되고 끝 인덱스는 포함되지 않습니다. 예를 들어, 리스트 a가 있을 때 a[1:4]는 a[1], a[2], a[3] 요소를 포함하는 리스트를 반환합니다.
'::'는 리스트에서 인덱스를 건너뛰어 요소를 추출할 때 사용됩니다. [시작 인덱스:끝 인덱스:스텝(step)] 형태로 사용하며, 스텝은 건너뛰는 인덱스의 간격을 의미합니다. 예를 들어, 리스트 a가 있을 때 a[1:6:2]는 a[1], a[3], a[5] 요소를 포함하는 리스트를 반환합니다.
예시 1
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 슬라이싱
print(a[1:4]) # [1, 2, 3]
# 인덱스를 건너뛰어 추출하기
print(a[1:6:2]) # [1, 3, 5]
설명 2
a[2:]는 인덱스 2부터 끝까지 추출하며, a[:6]은 인덱스 0부터 5까지 추출합니다. a[::-1]은 리스트를 거꾸로 뒤집어서 반환하며, a[9:1:-2]는 끝 인덱스가 2인 요소까지 거꾸로 추출합니다. a[:]는 리스트의 모든 요소를 추출합니다.
예시 2
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 인덱스 2부터 끝까지 추출
print(a[2:]) # [2, 3, 4, 5, 6, 7, 8, 9]
# 인덱스 0부터 6까지 추출 (끝 인덱스는 포함되지 않음)
print(a[:6]) # [0, 1, 2, 3, 4, 5]
# 인덱스를 거꾸로 추출하기
print(a[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
# 인덱스를 거꾸로 추출하되, 끝 인덱스가 2인 요소까지 추출
print(a[9:1:-2]) # [9, 7, 5, 3]
# 리스트의 모든 요소를 추출하기
print(a[:]) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Reference
ChatGPT
반응형
'PROGRAMMING > Python' 카테고리의 다른 글
[Python] Dictionary Key, Value Sorting (파이썬 딕셔너리 정렬) (34) | 2023.04.05 |
---|---|
[Python] Dictionary get method (파이썬 딕셔너리 팁) (44) | 2023.04.03 |
[Python] 파이썬 분수, 표현 / 연산 / 변환 (feat.Fractions module) (7) | 2023.02.11 |
[Python] 누적합 / 순열 / 조합 (feat.itertools module) (4) | 2023.02.03 |
[Python for AI]파이썬 객체지향프로그래밍 기법, Python Object-Oriented Programming(OOP) (11) | 2022.12.09 |