Python Best Practices Artwork

How to Write Pythonic Loops

One of the easiest ways to spot a developer who has a background in C-style languages and only recently picked up Python is to look at how they loop through a list. In this course, you’ll learn how to take a C-style (Java, PHP, C, C++) loop and turn it into the sort of loop a Python developer would write.

You can use these techniques to refactor your existing Python for loops and while loops in order to make them easier to read and more maintainable. You’ll learn how to use Python’s range(), xrange(), and enumerate() built-ins to refactor your loops and how to avoid having to keep track of loop indexes manually.

The main takeaways in this tutorial are that:

  1. Writing C-style loops in Python is considered not Pythonic. Avoid managing loop indexes and stop conditions manually if possible.

  2. Python’s for loops are really “for each” loops that can iterate over items from a container or sequence directly.

About Dan Bader

Dan Bader

Dan is the Chief Python Nut at Real Python. He helps Python developers take their coding skills to the next level with Python tutorials, books, and online training.

» More about Dan

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

Participant Comments

David Mellor on July 25, 2019

Brilliant - I knew this already, but to add a perspective of another language was very useful!

brunofl on Aug. 4, 2019

This was perfect, I ways had doubts on how to properly implement a c / java style loop the pythonic way :)

« Browse All Courses