본문 바로가기
코딩교육/Python 초등교육에서 전문가까지

2단계 : 2. 조건문 (in , not in 연산자 활용)

by 제리토리 2025. 2. 22.
728x90
반응형

 

Python의 innot in 연산자는 특정 값이 리스트, 튜플, 문자열, 딕셔너리 등의 컨테이너 객체 안에 존재하는지 여부를 확인하는 데 사용됩니다. 이 연산자는 조건문과 함께 사용되며, 복잡한 조건을 단순화할 수 있어 효율적인 코드 작성을 가능하게 합니다.

 

이 장에서는 innot in 연산자의 동작 방식과 다양한 활용 방법을 심도 있게 살펴보겠습니다.

 

 

 

1. in , not in 연산자 개요

 

㉮ 기본 개념

  • in 연산자 : 특정 값이 시퀀스 (리스트, 튜플, 문자열 등) 또는 컬렉션 (딕셔너리 등)에 존재하면 True, 없으면 False를 반환.
  • not in 연산자 : 특정 값이 컬렉션에 없으면 True, 존재하면 False를 반환

 

 

2. in 연산자 사용법

 

㉮ 리스트에서 값 포함 여부 확인

fruits = ["apple", "banana", "cherry"]

if "banana" in fruits:
    print("바나나가 리스트에 포함되어 있습니다.")

 

출력 결과

바나나가 리스트에 포함되어 있습니다.

 

㉯ 문자열에서 특정 단어 포함 여부 확인

  • in 연산자는 문자열 내 특정 문자가 포함되어 있는지 확인할 때 유용합니다.
text = "Python is a powerful language."

if "powerful" in text:
    print("문장에 'powerful'이 포함되어 있습니다.")

 

출력 결과

문장에 'powerful'이 포함되어 있습니다.

 

㉰ 튜플에서 값 포함 여부 확인

  • 튜플에서도 in 연산자를 사용할 수 있습니다.
colors = ("red", "blue", "green")

if "red" in colors:
    print("red 색상이 포함되어 있습니다.")

 

출력 결과

red 색상이 포함되어 있습니다.

 

㉱ 딕셔너리에서 키 존재 여부 확인

  • 딕셔너리에서 in 연산자는 키(key) 가 존재하는지를 확인합니다.
user_info = {"name": "Alice", "age": 25}

if "name" in user_info:
    print("사용자의 이름이 저장되어 있습니다.")

 

출력 결과

사용자의 이름이 저장되어 있습니다.

💡 주의: in 연산자는 딕셔너리의 키를 기준으로 동작하며, 값(Value) 확인을 위해서는 별도로 values()를 사용해야 합니다.

if 25 in user_info.values():
    print("사용자의 나이가 25입니다.")

 

 

 

3. not in 연산자 사용법

 

㉮ 리스트에서 값이 없는지 확인

fruits = ["apple", "banana", "cherry"]

if "grape" not in fruits:
    print("포도가 리스트에 없습니다")

 

출력 결과

포도가 리스트에 없습니다.

 

㉯ 문자열에서 특정 단어가 없는지 확인

text = "Python is a powerful language."

if "Java" not in text:
    print("문장에 'Java'가 포함되어 있지 않습니다.")

 

출력 결과

문장에 'Java'가 포함되어 있지 않습니다.

 

㉰ 딕셔너리에서 키가 없는지 확인

user_info = {"name": "Alice", "age": 25}

if "address" not in user_info:
    print("사용자의 주소 정보가 없습니다.")

 

출력 결과

사용자의 주소 정보가 없습니다.

 

 

 

4. in 연산자를 활용한 효율적인 코드 작성

 

㉮ 다중 비교 연산을 줄이는 방법

  • in 연산자를 사용하면 여러 개의 or 연산자를 사용하는 대신 간결한 코드를 작성할 수 있습니다.

비효율적인 코드

char = "b"

if char == "a" or char == "b" or char == "c":
    print("a, b, c 중 하나입니다.")

 

효율적인 코드 (in 연산자 활용)

char = "b"

if char in ["a", "b", "c"]:
    print("a, b, c 중 하나입니다.")

 

㉯ in 연산자로 메뉴 선택 구현

menu = ["짜장면", "짬뽕", "볶음밥"]

order = input("메뉴를 선택하세요: ")

if order in menu:
    print(f"{order}을(를) 주문하셨습니다.")
else:
    print("메뉴에 없는 항목입니다.")

 

㉰ not in 연산자로 허용되지 않은 입력 방지

valid_choices = ["Y", "N"]

choice = input("계속 전행하시겠습니까? (Y/N): ").upper()

if choice not in valid_choices:
    print("잘못된 입력입니다. Y 또는 N을 입력하세요.")
else:
    print(f"선택하신 값: {choice}")

 

㉱ in 연산자를 활용한 스팸 필터링

spam_words = ["win", "prize", "lottery"]

email_content = "Congratulations! You have won a lottery."

if any(word in email_content.lower() for word in spam_words):
    print("스팸 메일입니다.")
else:
    print("정상적인 메일입니다.")

 

 

5. 요약

 

  • in 연산자는 특정 값이 리스트, 튜플, 문자열, 딕셔너리 내에 존재하는지 확인하는 데 사용됩니다.
  • not in 연산자는 특정 값이 포함되지 않은 경우를 검사할 대 사용됩니다.
  • 딕셔너리에서 in  연산자는 키(key)의 존재 여부를 확인하는데 사용됩니다.
  • in 연산자를 활용하면 조건문을 더 간결하고 효율적으로 작성할 수 있습니다.
  • 메뉴 선택, 입력 검증, 스팸 필터링 등 다양한 활용 사례가 있습니다.

 

 

728x90
반응형