J'aime bien utiliser pour continuer dans les boucles où il y a beaucoup de contitions être remplies avant que vous obtenez "aux affaires". Ainsi, au lieu de code comme ceci:
for x, y in zip(a, b):
if x > y:
z = calculate_z(x, y)
if y - z < x:
y = min(y, z)
if x ** 2 - y ** 2 > 0:
lots()
of()
code()
here()
Je reçois un code comme ceci:
for x, y in zip(a, b):
if x <= y:
continue
z = calculate_z(x, y)
if y - z >= x:
continue
y = min(y, z)
if x ** 2 - y ** 2 <= 0:
continue
lots()
of()
code()
here()
En le faisant de cette manière-je éviter très profondément imbriqués code. Aussi, il est facile d'optimiser la boucle en éliminant le plus souvent dans les cas de la première, de sorte que je n'ai que de traiter avec les fréquents, mais les cas importants (par exemple, diviseur 0) quand il n'y a pas d'autre écueil.