728x90
반응형
Python의 in 및 not in 연산자는 특정 값이 리스트, 튜플, 문자열, 딕셔너리 등의 컨테이너 객체 안에 존재하는지 여부를 확인하는 데 사용됩니다. 이 연산자는 조건문과 함께 사용되며, 복잡한 조건을 단순화할 수 있어 효율적인 코드 작성을 가능하게 합니다.
이 장에서는 in과 not 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
반응형
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 3. 반복문 (for 와 while 의 차이점과 기본 사용법) (0) | 2025.03.04 |
---|---|
2단계 : 2. 조건문 (조건문을 활용한 간단한 프로그램 만들기) (0) | 2025.02.23 |
2단계 : 2. 조건문 (조건문 중첩과 효율적인 사용법) (0) | 2025.02.21 |
2단계 : 2. 조건문 (조건문 작성 시 유의사항, 들여쓰기, 조건 표현식) (0) | 2025.02.20 |
2단계 : 2. 조건문 (feat. if, else, elif 의 기본 가용법) (0) | 2025.02.19 |