Your for-loop might be missing an else block (Python 3)
Your for-loop might be missing an else block
There's a little-known construct in Python that can be quite useful: using else in combination with loops. That's right, for-loops and while-loops can be followed by an
else block! Let's look at how you can use the else block in combination with a for-loop.
When is this
else block executed?
else block is executed as soon as:
- Your for-loop is out of elements
- The expression in your
With this exception: when you exit the loop with a
break or a
return, the else block will be skipped.
When to use?
Whenever you find yourself using a flag inside a loop, e.g., a boolean variable like
found, you can probably use
In this crumb, we check if the letter 'Q' is in the variable
name using a loop. (Yes, I know, there's a better way!) Instead of using a flag like
found to print the fact that a 'Q' was not found, we use
Edit and run this Python 3 example code
This code is editable and runnable. You can run "Your for-loop might be missing an else block" by pressing the run button.
It will be executed in our backend and the result (
stderr) is displayed
in addition tabs.
Share "Your for-loop might be missing an else block"
Share this crumb (Your for-loop might be missing an else block) with your friends and colleagues to help them learn more about Python 3 programming.
Twitter, Facebook, LinkedIn
On Twitter, Facebook, and LinkedIn, simply paste the URL in your post and watch the magic unfold.
If you want to embed the crumb in an iframe, use the following code:
We support oEmbed, but most sites use allowlisting. On WordPress, oEmbed is supported out of the box, but see the note below.
If you plan to use crumb.sh heavily on Wordpress, you can use the following PHP code to allowlist our site and
unlock all the functionalities of our crumbs:
wp_oembed_add_provider( 'https://crumb.sh/*', 'https://crumb.sh/oembed/' );
Embed.ly is a service that allows you to embed content from other sites. We will request to be added to the list of trusted sites once we're out of beta.