컴퓨터/Python
파이썬에서는 슬라이싱이라는 문법을 제공하고 있습니다. 슬라이싱을 직역하자면 자르다, 썰다의 의미를 가지고 있으며 파이썬 내에서 이 슬라이싱의 문법, 기법은 연속적인 데이터, 또는 개체들을 모은 자료구조 (대표적으로 리스트, 튜플, 문자열 등)에서 각각의 요소들을 쉽게 가져오기 위한 표기법입니다.
본 포스트는 아래와 같은 리스트 형태의 자료구조가 있다고 가정해 보도록 하겠습니다.
List = [1,2,3,4,5,6,7,8,9,10]
슬라이싱을 사용한다는 것은 결국 연속적인 형태로 저장된 자료구조를 어디서부터 어떻게 자르고 가지고 오는지의 표기법입니다. 기본적으로 표기를 하기 위한 구조는 아래와 같습니다.
List[Start:End:Step]
그렇다면 실제 슬라이싱 기법을 사용해서 List의 특정 값을 가지고 와보도록 하겠습니다.
List = [1,2,3,4,5,6,7,8,9,10]
#List의 index 1 에서 5미만 까지 자른 값
print(List[1:5]) #[2,3,4,5]
#List의 index 0 에서 5미만 까지 자른 값
List_A = List[0:5]
print(List_A) #[1,2,3,4,5]
#List의 index 3에서 3미만까지 자른 값
List_B = List[3:3]
print(List_B) #[] 없기 때문에 결과 값은 다음과 같습니다.
#List의 index 3에서 4미만까지 자른 값
List_C = List[3:4]
print(List_C) # [4]
위처럼 시작(Start)과 끝(End)을 지정함으로써 연속된 자료구조의 데이터를 손쉽게 가지고 와서 이용할 수 있습니다.
주의할 점은 끝(End)의 값은 포함하지 않습니다.
리스트 등 다양한 자료구조에서 값을 추출할 때 Start 또는 End의 값을 생략하면 아래와 같은 효과를 얻을 수 있습니다.
List = [1,2,3,4,5,6,7,8,9,10]
#시작부터 N번째 까지
print(List[:2]) #[1.2]
#N번 부터 마지막 까지
print(List[7:]) #[8,9,10]
파이썬에서는 -를 이용한 인덱싱 기법이 가능합니다.
이 내용을 잘 살펴보면 -인덱스와 슬라이싱을 사용하면 형태 2와는 반대의 값을 추출할 수 있습니다.
List = [1,2,3,4,5,6,7,8,9,10]
#끝이 되기전 N번째 부터 끝까지
print(List[-3:]) #[8,9,10]
#시작부터 끝이 되기전 N까지
print(List[:-3]) #[1,2,3,4,5,6,7]
Step 옵션을 사용하면 말 그대로 Step의 효과 또는 방향의 효과를 줄 수 있습니다.
대표적인 예시를 들자면 아래와 같습니다.
List = [1,2,3,4,5,6,7,8,9,10]
#N번 씩 건너뛰며 값을 가지고 오기
print(List[0::3]) #[1,4,7,10]
#거꾸로 값을 가지고 오기
print(List[10::-1]) #[10,9,8,7,6,5,4,3,2,1]
print(List[:0:-1]) #[10,9,8,7,6,5,4,3,2]
print(List[3::-1]) #[4,3,2,1]
본 포스트에서는 다양한 슬라이싱 기법의 예시와 사용법에 대해 알아보았습니다.
Python - 함수(Function) (0) | 2021.11.18 |
---|---|
Python - 주석 (Comment) (0) | 2021.11.16 |
Python - while (반복문) (0) | 2021.11.01 |
Python - format (0) | 2021.10.03 |
Python - 입력값 받기 / input()함수 (1) | 2021.09.28 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet