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
'파이썬 > 파이썬 기초' 카테고리의 다른 글
구글 코랩에서 활용하는 마크다운 문법 마스터하기 (1) | 2023.11.06 |
---|---|
코랩(colab) 깃허브 업로드 방법(잘 안되는분) (0) | 2022.10.27 |
[파이썬 기초] 엑셀 자동화 방법(아직 openpyxl 쓰시나요?) (1) | 2022.10.14 |
[파이썬 기초] windows 파이썬 가상환경 설정 방법 배우기 (0) | 2022.10.06 |
[python] math.hypot() 란? | 사용법 (0) | 2022.08.26 |
댓글
꼬예님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.