일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- custom vision
- 다변량 분석
- 군집화 시각화 방법
- 최소-최대 정규화
- 선형 판별 분석 LDA
- 시계열 모델링
- 시계열 상관 분석
- 상관 분석
- 주성분 분석
- ARIMA 모델링
- 다중상관분석
- R과 Python
- 순서형 데이터
- 주성분 줄이기
- Z-점수 기반 이상치 탐지
- 계절성 모델
- 데이터의 차원 축소
- 시계열 특성을 고려한 이상치 탐지
- 범주형 데이터
- ARMA 모델링
- 명목형 데이터
- Python
- 상위포지션
- 상자 그림
- 데이터 종류에 따른 분석 방법
- 데이터 수집 및 전처리
- 지수평활법
- 데이터 분석 프로세스
- 날짜 시간 데이터 전처리
- Q-Q 플롯
Archives
- Today
- Total
me made it !
[Python] For else 구문이 뭐야? 본문
반응형
0. 개요
if ~ elif ~ else는 잘 안다고 자부할 수 있는 "나". 근데 for else 는 처음 들어보았다. 그래서 이렇게 for else에 관해 포스팅을 몇 자 적어본다.
1. 서론
for i in range(1, len(arr)):
if arr[i] > root:
left_arr = arr[1:i]
right_arr = arr[i:]
break
else:
left_arr = arr[1:]
이진트리 문제를 푸는데 ... 자꾸 알 수 없는 시간초과가 떠서 뭔가 봤더니
for i in range(1, len(arr)):
if arr[i] > root:
left_arr = arr[1:i]
right_arr = arr[i:]
break
else:
left_arr = arr[1:]
else: 구문을 자꾸 for 랑 한 줄에 쓰라는 거시다. 지금까지 생각하기로는 if ~ else: 일텐데 뭐지????????라는 생각이 들었다.
2. 본론
>>> for x in [1, 2, 3, 4]:
... if x % 3:
... print(x) # x가 3의 배수가 아니면 출력
... else:
... break # x가 3의 배수이면 반복문에서 빠져나감
... else:
... print("리스트의 원소를 모두 출력했어요")
...
1
2
이와 같은 for 문에서 리스트의 원소를 하나씩 출력하고 나서, else: 구문이 반복문 밖에 있다면, else: 구문이 실행되지 않는다. 다시말해서 for문과 같이 사용되는 else문은 for문이 break등으로 중간에 빠져나오지 않고 끝까지 실행 되었을 경우에 else문이 실행되는 방식으로 진행한다.
>>> countdown = 5
>>> while countdown > 0:
... print(countdown)
... countdown -= 1
... if input() == '중단':
... break
... else:
... print('발사!')
...
5
4
3
중단
while 문도 마찬가지. while break될 경우에는 else블록이 실행되지 않는다.
3. 결론
그렇다면 여기서 궁금한 것. 왜 쓸까?
=> for 문을 사용하다보면, 루프 중간에 break(브레이크) 문으로 빠져나오는 경우들이 있는데, 이게 break문이 걸려서 빠져나가는지 아닌지를 판단해야할 경우가 있다. 보통은 flag를 둬서 처리하는 것이 기존의 방식이지만 for else를 써서 break없이 빠져나온 경우를 처리할 수 있다.
반응형
'크래프톤 정글' 카테고리의 다른 글
[CS]컴퓨터가 음수를 표현하는 방법 (0) | 2024.07.20 |
---|---|
[Python] read(), readline(), readlines()의 차이 (0) | 2024.07.19 |
[알고리즘] DFS 와 BFS (0) | 2024.07.13 |
[Python] strip() 과 split() 의 차이 (1) | 2024.07.12 |
[알고리즘] 백준 2630번 색종이 만들기 + 리팩토링 (0) | 2024.07.12 |