Python에서 중첩 루프 끊기
내부 루프의 코드를 사용하여 두 루프에서 어떻게 벗어날 수 있습니까?
for i in range(1, 4):
for j in range(1, 4):
if j == 2:
break # But please also break the outer loop!
print(i, j)
그렇지 않으면 차단
단 하나의 솔루션:
만약 우리가 내부 루프에 있는 어떤 𝚋ювана𝚔에 의해 중단되지 않는다면(즉, 이것이 의미하는 바입니다), 나머지 외부 루프는 실행되지 않을 것입니다(𝚌에만라)
그렇다면 외부 루프도 종료됩니다.
for i in range(1, 4):
for j in range(1, 4):
print(i, j)
if j == 2:
break
else:
continue
break
itertools
그다지 보기 좋지 않으며 이 코드를 보는 사람은 두 번 생각해야 합니다.
그래서, 여기에 더 우아한 해결책이 있습니다.
이 방법은 우리의 두 루프를 하나로 요약합니다.
import itertools
for i, j in itertools.product(range(1, 4), range(1, 4)):
print(i, j)
if j == 2:
break
커스텀 생성기 함수
제너레이터 함수를 사용하여 우리는 방법의 동작을 복제할 수 있습니다.
키워드는 함수의 결과를 생성기로 만듭니다.
def generator(outer_iterable, inner_iterable):
for i in outer_iterable:
for j in inner_iterable:
yield (i, j)
for (i, j) in generator(range(1, 4), range(1, 4)):
print(i, j)
if j == 2:
break
Twitter에서 토론 팔로우
기본 코드
💡🐍 파이썬에서 중첩 루프를 살펴봅시다! 내부 루프에 코드가 있는 두 루프의 🛑를 어떻게 분리할 수 있습니까? 살펴봅시다! 👇
오전 10:02 - 2022년 5월 20일
Reference
이 문제에 관하여(Python에서 중첩 루프 끊기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bascodes/breaking-out-a-nested-loop-in-python-5hhf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)