>  기사  >  백엔드 개발  >  내 코드에서 중첩 루프를 효율적으로 중단하려면 어떻게 해야 합니까?

내 코드에서 중첩 루프를 효율적으로 중단하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 12:57:31797검색

How Can I Efficiently Break Out of Nested Loops in My Code?

중첩 루프에서 벗어나기: 포괄적인 접근 방식

중첩 루프는 기본적인 프로그래밍 구조이지만 조기에 종료하는 것은 어려울 수 있습니다. 많은 언어에서 기존 솔루션에는 보기 흉한 코드가 발생할 수 있는 예외 발생이 포함됩니다. 그러나 더 우아한 방법도 있습니다.

'break' 및 'else' 구문 소개

한 가지 접근 방식은 'break' 및 'else'를 사용하는 것입니다. 구성합니다. 'break' 문은 자신이 포함된 가장 안쪽 루프를 즉시 종료합니다. 'else' 문은 'for' 루프 뒤에 배치될 때 루프가 'break'를 만나지 않고 완료되는 경우에만 실행됩니다.

예를 들어, 다음 코드는 'x'와 'y'의 곱이 50을 초과할 때 중첩 루프에서 벗어납니다.

for x in range(10):
    for y in range(10):
        print(x * y)
        if x * y > 50:
            break
    else:
        continue  # only executed if the inner loop did NOT break
    break  # only executed if the inner loop DID break

이 접근 방식은 예외 발생을 방지하고 더 깔끔한 코드 구조를 제공합니다.

더 깊은 루프로 확장

'break' 및 'else' 구문은 더 깊은 루프에 동일하게 잘 작동합니다. 예를 들어, 다음 코드는 'x', 'y' 및 'z'의 곱이 30일 때 가장 바깥쪽 루프에서 벗어납니다.

for x in range(10):
    for y in range(10):
        for z in range(10):
            print(x, y, z)
            if (x * y * z) == 30:
                break
        else:
            continue  # inner loop did NOT break
        break  # inner loop DID break
    else:
        continue  # middle loop did NOT break
    break  # middle loop DID break

이 우아한 솔루션을 사용하면 루프 실행을 정밀하게 제어할 수 있습니다. , 코드의 가독성과 유지 관리성이 향상됩니다.

위 내용은 내 코드에서 중첩 루프를 효율적으로 중단하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.