## DEV Community 👩‍💻👨‍💻 is a community of 966,155 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Shahzoda D.

Posted on • Updated on

# Python Loops Cheat Sheet

Coming from C++, Python loops confused me--I'm talking about for loops, in specific. In C++, you tell a loop exactly how to behave from the initializer, condition, to the increment. In Python you write it in English. That is if you simply want it to print the items (and only the items) in the order it's in. This isn't a blog post for beginner coders, only new pythoners (pythonists? snake charmers??)

I. simply iterate through the list and print the values:

``````arr2 = [10, 20, 30, 40, 50, 60]
for i in arr2:
print(i)
``````

II. simply iterate through list and print the values and the indexes:

``````arr2 = [10, 20, 30, 40, 50, 60]
for i, num in enumerate(arr2):
print(i, num)
``````

III. iterate backwards:

``````arr2 = [10, 20, 30, 40, 50, 60]
for val in reversed(arr2):
print(val)
``````

IV. iterate with the indexes alone:

``````arr2 = [10, 20, 30, 40, 50, 60]
for i in range(len(arr2)):
print(i)
``````

V. Iterate the index backwards:

``````arr2 = [10, 20, 30, 40, 50, 60]
for i in range(len(arr2), 0, -1):
print(i)
``````

VI. iterate with the index and value backwards:

``````arr2 = [10, 20, 30, 40, 50, 60]
for i in range(len(arr2), 0, -1)::
print(i, arr2[i])
``````

VI. iterate from the index 3 to the index 5:

``````arr2 = [10, 20, 30, 40, 50, 60]
for val in arr2[3:6]:
print(val)
``````

VII. iterate from the index 3 to the index 5 with the index:

``````arr2 = [10, 20, 30, 40, 50, 60]
for i in range(3,6):
print(i)
``````

IX. iterate from the indexes backwards with access to the index (not just the value):

``````arr2 = [10, 20, 30, 40, 50, 60]
for i in range(5,0,-1):
print(i)
``````

X. looping using enumerate:

``````# this one is probably my favorite
arr2 = [10, 20, 30, 40, 50, 60]
for i, val in enumerate(arr2):
print(i, val)
``````

This is literally copied and pasted from my notes. Hope it makes sense.

Did anyone else think Python loops were weird? Do you loop any of these differently in Python? Comment to let me know.

Special thanks to Ben Sinclair and rhymes for their contributions to this article.

rhymes • Edited on

Hi Shahzoda! Welcome to DEV and thanks for your first post. C++ and Python have a long standing relationship and it's nice to see new Pythonistas coming from there ;-)

A couple of tips:

IV. iterate with the indexes alone:

``````>>> arr2 = [10, 20, 30, 40, 50, 60]
>>> for i, _ in enumerate(arr2):
...     print(i)
...
``````

also, if you add `python` to the ticks you can enable syntax highlighting:

Can't wait for you to discover list comprehensions ;-)

Shahzoda D.

You're incredible!! Thank you for the syntax highlight tip. I learned list comprehensions already, they're really cool but the "dont care" variable is a new one too me. Really cool stuff.

Ben Sinclair

Instead of doing `range(1,6)[::-1]` you can pass a negative step into the function itself like `range(5,0,-1)` which might be more readable depending on the context.

Shahzoda D.

Kevin Dillman

Very nice, concise examples.

Shahzoda D.

thank you!!!!