반응형
알고리즘 문제를 풀 때마다 반복문의 loop를 마친 후에 확인 과정을 위해 변수를 하나 더 설정하는게
뭔가 불편해서 방법이 없나 찾아봤습니다.
파이썬에서는
for-else 또는 while-else를 사용하면 그런 찝찝함을 해소할 수 있습니다.
이렇게 코드를 작성하면 반복문이 break가 되지 않고 loop를 끝까지 마친다면 else에 있는 코드를 실행합니다.
for - else 를 예시로 들어서 한번 확인해봅시다.
기존의 코드부터 보겠습니다.
a = [3, 5, 7, 15, 21]
check = False # 짝수가 있는지 판단
for i in a:
if i % 2 == 0:
check = True
break
if check == False:
print('짝수가 없습니다.')
==> 짝수가 없습니다.
이렇게 check와 같은 bool 타입 변수를 사용해 확인하는게 일반적입니다.
하지만 for-else를 활용하면
a = [3, 5, 7, 15, 21]
for i in a:
if i % 2 == 0:
break
else:
print('짝수가 없습니다.')
==> 짝수가 없습니다.
이렇게 줄일 수 있습니다.
반응형
'파이썬 Python' 카테고리의 다른 글
matplotlib.pyplot 흑백 이미지 출력이 정상적으로 안되는 경우 (plt.imshow(), cmap) (2) | 2021.12.23 |
---|---|
[파이썬] sys.setrecursionlimit() (재귀 최대 깊이 설정) (1) | 2021.09.22 |
[파이썬] 클래스 상속, 메서드 오버라이딩 (예시를 통한 설명) (1) | 2021.06.22 |
[파이썬] 클래스와 객체, 인스턴스를 이해해보자 (예시를 통한 설명) (2) | 2021.06.22 |
[파이썬] 깊은 복사와 얕은 복사 개념, 예제 (0) | 2021.06.19 |