[PYTHON] Sortez de plusieurs boucles à la fois

python ne fournit pas un moyen facile de sortir de plusieurs boucles. Vous pouvez préparer un drapeau, mais ce n'est pas très beau

python


flag = False
for i in range(100):
    for j in range(100):
        if i > j > 70:
            flag = True
            break
        print i, j
    if flag:
        break

Je pense qu'une telle boucle for peut être revue à partir de la structure. Il y a des moments où je veux que vous sortiez de plusieurs boucles. Dans ce cas

Utilisez la clause for-else

python


for i in range(100):
    for j in range(100):
        if i > j > 70:
            break
        print i, j
    else:
        continue
    break

Pas si beau

Utiliser la syntaxe try-except

python


try:
    for i in range(100):
        for j in range(100):
            if i > j > 70:
                raise Exception
            print i, j
except Exception:
    pass

C'est différent de l'usage original et je ne peux pas vraiment l'aimer ~

utiliser goto

goto for Python

python


from goto import goto, label

for i in range(100):
    for j in range(100):
        if i > j > 70:
            goto .END
        print i, j
label .END

Facile à comprendre mais nécessite l'installation d'un module externe

Tous ne sont pas assez bons, il s'agit donc de les rendre fonctionnels. Oui.

Recommended Posts

Sortez de plusieurs boucles à la fois
Recevez de nombreux tweets Twitter à la fois
[Laravel] Un alias qui crée un fichier de migration pour plusieurs tables à la fois.
Supprimer les conteneurs inutiles de Docker à la fois
Obtenez immédiatement l'identifiant Google+ du membre AKB
Mettre à jour plusieurs tables à la fois avec pandas to_sql
Convertissez plusieurs fichiers proto à la fois avec python
Enregistrer plusieurs styles personnalisés dans Word à la fois
Obtenez le numéro d'entreprise à la fois via gbizinfo avec python
Calculez la valeur totale de plusieurs colonnes avec awk
Héritage multiple de classes
Copie de plusieurs listes
J'ai créé un outil pour obtenir les liens de réponse d'OpenAI Gym en même temps
Obtenez UNIXTIME au début d'aujourd'hui avec une commande
Créez plusieurs utilisateurs avec des numéros de série à la fois avec Ansible Playbook