오답노트

[Python3] 데이터 슬라이싱, in, in not 본문

Python

[Python3] 데이터 슬라이싱, in, in not

권멋져 2022. 6. 28. 17:51

데이터 슬라이싱

리스트나 튜플과 같은 자료형을 다룰 때 사용하는데 이게 참 매우 편리하다.

보통은 함수를 사용하거나 반복문을 돌려서, 아니면 C,C++같은 경우는 메모리에 접근하여 배열의 일부분을 추출하는데,

파이썬에서는 간단하게 리스트나 튜플의 배열의 일부분을 추출할 수 있다.

 

아래 코드로 확인해보자.

t = (1,2,3,4,5)
l = [1,2,3,4,5]

print(l[:3]) # 0번째부터 2번째 요소까지
print(t[:3]) # 0번째부터 2번째 요소까지

print(l[2:]) # 2번째부터 마지막 요소까지
print(t[2:]) # 2번째부터 마지막 요소까지

print(l[1:3]) # 1번째부터 2번째 요소까지
print(t[1:3]) # 1번째부터 2번째 요소까지

print(l[::2]) # 첫번째부터 2개 간격의 요소를 마지막 요소까지
print(t[::2]) # 첫번째부터 2개 간격의 요소를 마지막 요소까지

print(l[-3:]) # 끝에서 3번째 요소부터 마지막 요소까지
print(t[-3:]) # 끝에서 3번째 요소부터 마지막 요소까지

print(l[:-1]) # 0번째부터 끝에서 1번째 요소까지
print(t[:-1]) # 0번째부터 끝에서 1번째 요소까지

print(l[-4:-1]) # 끝에서 4번째부터 끝에서 1번째 요소까지
print(t[-4:-1]) # 끝에서 4번째부터 끝에서 1번째 요소까지

print(l[-4::2]) # 끝에서 4번째부터 2개 간격의 요소를 마지막 요소까지
print(t[-4::2]) # 끝에서 4번째부터 2개 간격의 요소를 마지막 요소까지

 

사진1-1. 데이터 슬라이싱 코드 블럭에 대한 결과 출력

 

정리하면 다음과 같다

리스트(or 튜플) 변수명[start_index:end_index:term_count]

start_index : 시작 인덱스

end_index : 종료 인덱스 +1

term_count : 간격 수

 

음수를 적으면 마지막 인덱스를 기준으로한다.

예를들어 마지막 인덱스부터 n 번째 요소부터 마지막 인덱스부터 m번째 요소까지 표현할 수 있다.

 

in, not in

in 과 not in은 요소에 원하는 값이 있는지 없는지 bool 형태로 반환하여 알려준다.

t = (1,2,3,4,5)
l = [1,2,3,4,5]

print(1 in t)
print(0 in t)

print(1 in l)
print(0 in l)

print(1 not in t)
print(0 not in t)

print(1 not in l)
print(0 not in l)

사진2-1. in, not in 코드블럭에 대한 결과 출력

간단하게 여부만 체크할 때는 in,not in을 사용하고, 정확히 위치를 알고 싶다면 index를 사용하면 된다.

'Python' 카테고리의 다른 글

[Python3] 클래스(Class)  (0) 2022.07.03
[Python3] 딕셔너리  (0) 2022.06.30
[Python3] Tuple(튜플)  (0) 2022.06.28
[Python3] 함수  (0) 2022.06.26
[Python3] List(리스트)  (0) 2022.06.24