파이썬(Python)의 멤버십 연산자(membership operator)는 문자열(str), 리스트(list), 튜플(tuple)과 같은 시퀀스(sequence) 자료형 안에 특정 값이 포함되어 있는지 검사할 때 사용하는 연산자입니다. 파이썬에서 제공하는 멤버십 연산자는 다음 두 가지입니다.
멤버십 연산자의 종류
| 번호 | 연산자 및 설명 | 예시 |
|---|---|---|
| 1 | in 지정한 시퀀스에서 해당 변수(값)를 찾으면 True, 찾지 못하면 False를 반환합니다. | x in y — x가 시퀀스 y의 요소라면 참(True)을 반환합니다. |
| 2 | not in 지정한 시퀀스에서 해당 변수(값)를 찾지 못하면 True, 찾으면 False를 반환합니다. | x not in y — x가 시퀀스 y의 요소가 아니라면 참(True)을 반환합니다. |
예제 코드
다음은 in과 not in 연산자를 활용한 기본 예제입니다. 리스트 안에 특정 숫자가 있는지 확인하고 그 결과를 출력합니다.
#!/usr/bin/python3
a = 10
b = 20
my_list = [1, 2, 3, 4, 5]
# in 연산자: a가 리스트에 있는지 검사
if a in my_list:
print("첫째 줄 - a는 리스트에 존재합니다.")
else:
print("첫째 줄 - a는 리스트에 존재하지 않습니다.")
# not in 연산자: b가 리스트에 없는지 검사
if b not in my_list:
print("둘째 줄 - b는 리스트에 존재하지 않습니다.")
else:
print("둘째 줄 - b는 리스트에 존재합니다.")
# a의 값을 2로 변경 후 다시 검사
a = 2
if a in my_list:
print("셋째 줄 - a는 리스트에 존재합니다.")
else:
print("셋째 줄 - a는 리스트에 존재하지 않습니다.")참고: 변수 이름을
list로 지정하면 파이썬 내장 함수인 list()를 덮어쓰게 되므로, 위 예제처럼 my_list 등 다른 이름을 사용하는 것이 좋습니다.실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
첫째 줄 - a는 리스트에 존재하지 않습니다. 둘째 줄 - b는 리스트에 존재하지 않습니다. 셋째 줄 - a는 리스트에 존재합니다.
결과 해설
- 첫째 줄:
a에는 10이 저장되어 있지만, 리스트에는 10이 없으므로a in my_list는 거짓(False)이 되어 else 블록이 실행됩니다. - 둘째 줄:
b에는 20이 저장되어 있고 리스트에도 없으므로,b not in my_list는 참(True)이 됩니다. - 셋째 줄:
a의 값을 2로 바꾸면 리스트에 2가 존재하기 때문에a in my_list는 참(True)이 됩니다.
이처럼 멤버십 연산자는 조건문과 함께 사용하여 시퀀스 내 값의 존재 여부를 간결하게 확인할 수 있으며, 실무에서도 데이터 검증, 필터링 등 다양한 상황에서 널리 활용됩니다.