오답노트
[Python3] 데이터 슬라이싱, in, in not 본문
데이터 슬라이싱
리스트나 튜플과 같은 자료형을 다룰 때 사용하는데 이게 참 매우 편리하다.
보통은 함수를 사용하거나 반복문을 돌려서, 아니면 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를 사용하면 된다.
'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 |