무효 클릭 IP 추적 중...
파이썬/파이썬 기초

[python] 파이썬 for else 구문 완벽 정리

꼬예 2023. 1. 2.
[python] 파이썬 for else 구문 완벽 정리

  for 문    else 구문  이 결합된 요상한 구문에 대해 알아보자.

 

 

1)   for-else   구문 생김새

numbers = [1, 3, 5]
for number in numbers:
    print(number)
else:
    print("반복문 끝")
    
# output
'''
1
3
5
반복문 끝
'''

  for loop   뒤에    else 문  을 붙여준다.

이때   else    for  과 같은 위치 선상이어야 한다.

 

작동방식은  for   문을 다 돌고 난 뒤   else   구문내 코드를 실행시키는 구조다.

 

여기서 궁금증이 생긴다.

왜 굳이..?

numbers = [1, 3, 5]
for number in numbers:
    print(number)

print("반복문 끝")

  else  를 안 써도 결과는 똑같기 때문이다.

 

하지만   for else   문 장점은   break  와 함께 쓸 때 발휘된다.

 

2)   for-else   with    break   

numbers = [1, 3, 5]
for number in numbers:
    if number == 3:
        break
else:
    print("반복문 끝")

리스트 원소중   3  이라는 값이 있으면   break문  에 걸려 break 되는 코드다.

결과적으로   else 문   코드는 실행되지 않는다.

 

  else 문  이 없다면?

numbers = [1, 3, 5]
for number in numbers:
    if number == 3:
        break
print("반복문 끝")

# else가 없다면 break 가 있던 없던 마지막 문 을 실행한다.
#ouput
'''
반복문 끝
'''

  for loop  안에서 break에 걸려도   print("반복문 끝")   은 실행된다.

 

이제 왜   for-else   가 강력한지 납득이 되었을 거다.

 

그렇다면 이러한 기능을 어디에 쓰는지 응용코드를 통해 확인해 보자.

 

3) 응용 코드

리스트 안에서 특정 원소 존재여부를 확인하는 코드다.

존재여부에 따라 다른 ouput을 출력한다.

def search_list(element, search_list):
    for item in search_list:
        if item == element:
            print(f"Found element {element} in list")
            break
    else:
        print(f"Could not find element {element} in list")

search_list(5, [1, 2, 3, 4])
# Output: Could not find element 5 in list

search_list(3, [1, 2, 3, 4])
# Output: Found element 3 in list
  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글

꼬예님의
글이 좋았다면 응원을 보내주세요!