콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2025. 8. 22. 15:52
반응형

in 연산자는 특정 값이 시퀀스(Sequence) 안에 포함되어 있는지 확인하는 데 사용됩니다. 여기서 시퀀스는 문자열, 리스트, 튜플, 딕셔너리, 집합 등을 포함합니다. in 연산자는 만약 값이 시퀀스 안에 있으면 True를, 없으면 False를 반환합니다.

중요) 조건식의 끝에는 항상 콜론(:)이 붙어야 하며, 들여쓰기를 통해 코드 블록을 구분해야 합니다.

in 연산자의 작동 원리

in 연산자는 기본적으로 포함 관계를 확인하는 멤버십 연산자입니다.

1. 리스트(List)에서 사용하기

가장 흔하게 사용되는 경우입니다. 리스트 안에 특정 항목이 있는지 확인할 때 유용합니다.

Python
 
my_list = ['사과', '바나나', '포도']

# '바나나'가 my_list에 있는지 확인
result1 = '바나나' in my_list
print(result1)  # 출력: True

# '오렌지'가 my_list에 있는지 확인
result2 = '오렌지' in my_list
print(result2)  # 출력: False

2. 문자열(String)에서 사용하기

문자열은 문자들의 시퀀스이므로, 특정 문자 또는 부분 문자열이 포함되어 있는지 확인할 수 있습니다.

Python
 
my_string = '안녕하세요, 파이썬!'

# '파이썬'이라는 단어가 my_string에 있는지 확인
result1 = '파이썬' in my_string
print(result1)  # 출력: True

# '안녕'이라는 단어가 my_string에 있는지 확인
result2 = '안녕' in my_string
print(result2)  # 출력: True

# '자바'라는 단어가 my_string에 있는지 확인
result3 = '자바' in my_string
print(result3)  # 출력: False

3. 딕셔너리(Dictionary)에서 사용하기

딕셔너리에서 in 연산자는 **키(key)**의 존재 여부를 확인합니다.

Python
 
my_dict = {'name': '앨리스', 'age': 25, 'city': '서울'}

# 'name'이라는 키가 my_dict에 있는지 확인
result1 = 'name' in my_dict
print(result1)  # 출력: True

# 'phone'이라는 키가 my_dict에 있는지 확인
result2 = 'phone' in my_dict
print(result2)  # 출력: False

# 값(value)을 확인하려면 .values() 메서드를 사용해야 합니다.
result3 = '앨리스' in my_dict.values()
print(result3)  # 출력: True

in과 if-elif문의 결합

in 연산자는 조건문과 함께 사용될 때 매우 강력합니다.

Python
 
wallet = ['신용카드', '현금', '학생증']
payment_method = '신용카드'

if payment_method in wallet:
    print(f'결제 수단 {payment_method}이(가) 지갑에 있습니다.')
else:
    print(f'결제 수단 {payment_method}이(가) 지갑에 없습니다.')

# 출력: 결제 수단 신용카드가 지갑에 있습니다.

이 예제에서 if 조건문은 payment_method 변수('신용카드')가 wallet 리스트에 포함되어 있는지 확인합니다. 포함되어 있으므로 첫 번째 if 블록이 실행됩니다.

 

추가 예제 소스)

in 연산자와 if-elif 문을 결합하여 사용하는 예제 소스를 더 만들고 자세히 설명해 드리겠습니다.

 

이 조합은 특히 여러 조건 중에서 하나를 효율적으로 판별할 때 유용합니다.


예제 1: 요일 판별기 🗓️

이 코드는 입력받은 요일이 평일인지, 주말인지, 아니면 유효하지 않은 값인지 판별합니다.

Python
 
day = input("요일을 입력하세요: ")

# 소문자로 변환하여 비교를 단순화합니다.
day = day.lower()

if day in ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']:
    print(f"'{day}'는 평일입니다.")
elif day in ['saturday', 'sunday']:
    print(f"'{day}'는 주말입니다.")
else:
    print(f"'{day}'는 유효한 요일이 아닙니다.")

코드 해석

  • if day in [...]: day 변수의 값이 리스트 ['monday', 'tuesday', ...] 안에 포함되어 있으면 첫 번째 if 블록이 실행됩니다. in 연산자는 여러 개의 값을 or로 연결하는 것보다 코드를 훨씬 간결하게 만들어 줍니다.
  • elif day in [...]: 첫 번째 if 조건이 거짓일 경우, 이 elif 조건이 검사됩니다. day가 주말 리스트에 포함되어 있으면 해당 블록이 실행됩니다.
  • else: 위의 모든 조건에 해당하지 않으면(즉, 입력된 값이 유효한 요일이 아닐 경우) 마지막 else 블록이 실행됩니다.

예제 2: 사용자 입력 메뉴 확인 🍔

이 코드는 사용자가 입력한 메뉴가 특정 카테고리(음료, 디저트)에 속하는지 확인합니다.

Python
 
menu_item = input("주문할 메뉴를 입력하세요: ")

# 소문자로 변환하여 입력 대소문자 구분을 없앱니다.
menu_item = menu_item.lower()

if menu_item in ['coke', 'latte', 'juice']:
    print(f"'{menu_item}'는 음료 메뉴입니다.")
elif menu_item in ['cake', 'icecream']:
    print(f"'{menu_item}'는 디저트 메뉴입니다.")
else:
    print(f"'{menu_item}'는 음료 또는 디저트 메뉴가 아닙니다.")

코드 해석

  • if menu_item in [...]: 사용자가 입력한 menu_item이 음료 리스트에 포함되는지 확인합니다.
  • elif menu_item in [...]: 첫 번째 조건이 거짓일 경우, 입력된 메뉴가 디저트 리스트에 포함되는지 확인합니다.
  • else: 위의 두 조건 모두에 해당하지 않으면 다른 카테고리의 메뉴로 판단합니다.

in 연산자를 if-elif 문과 함께 사용하면, 여러 개의 값을 개별적으로 비교하는 대신 하나의 그룹으로 묶어 비교할 수 있어 코드가 더 읽기 쉽고 효율적이게 됩니다.

반응형

콘텐츠 내 자동삽입광고