Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 멤버십 연산자(in, not in) 완벽 정리

파이썬(Python)의 멤버십 연산자(membership operator)는 문자열(str), 리스트(list), 튜플(tuple)과 같은 시퀀스(sequence) 자료형 안에 특정 값이 포함되어 있는지 검사할 때 사용하는 연산자입니다. 파이썬에서 제공하는 멤버십 연산자는 다음 두 가지입니다.

멤버십 연산자의 종류

번호연산자 및 설명예시
1in
지정한 시퀀스에서 해당 변수(값)를 찾으면 True, 찾지 못하면 False를 반환합니다.
x in y — x가 시퀀스 y의 요소라면 참(True)을 반환합니다.
2not in
지정한 시퀀스에서 해당 변수(값)를 찾지 못하면 True, 찾으면 False를 반환합니다.
x not in y — x가 시퀀스 y의 요소가 아니라면 참(True)을 반환합니다.

예제 코드

다음은 innot 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)이 됩니다.

이처럼 멤버십 연산자는 조건문과 함께 사용하여 시퀀스 내 값의 존재 여부를 간결하게 확인할 수 있으며, 실무에서도 데이터 검증, 필터링 등 다양한 상황에서 널리 활용됩니다.