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개 간격의 요소를 마지막 요소까지
정리하면 다음과 같다
리스트(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)
간단하게 여부만 체크할 때는 in,not in을 사용하고, 정확히 위치를 알고 싶다면 index를 사용하면 된다.