Maison  >  Article  >  développement back-end  >  Comment puis-je sortir efficacement des boucles imbriquées dans mon code ?

Comment puis-je sortir efficacement des boucles imbriquées dans mon code ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 12:57:31791parcourir

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

Sortir des boucles imbriquées : une approche globale

Les boucles imbriquées sont une construction de programmation fondamentale, mais en sortir prématurément peut être difficile. Dans de nombreux langages, la solution traditionnelle consiste à lever une exception, ce qui peut conduire à un code inesthétique. Cependant, il existe des méthodes plus élégantes disponibles.

Présentation des constructions 'break' et 'else'

Une approche consiste à utiliser 'break' et 'else' construits. L'instruction 'break' sort immédiatement de la boucle la plus interne dans laquelle elle est contenue. L'instruction 'else', lorsqu'elle est placée après une boucle 'for', n'est exécutée que si la boucle se termine sans rencontrer de 'break'.

Par exemple, le code suivant sort des boucles imbriquées lorsque le produit de « x » et « y » dépasse 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

Cette approche évite de lever une exception et fournit une structure de code plus propre.

Extension aux boucles plus profondes

Les constructions « break » et « else » fonctionnent également bien pour les boucles plus profondes. Par exemple, le code suivant sort de la boucle la plus externe lorsque le produit de « x », « y » et « z » est égal à 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

Cette solution élégante permet un contrôle précis de l'exécution de la boucle. , améliorant la lisibilité et la maintenabilité de votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn