How to Use For Loops in Python
for loops in Python are used to iterate over a numerical range or any other iterable data type in a sequence. They are useful for repetitive operations and tasks that need to be looped a specific number of times.
In this tutorial, we will learn how to use
for loops in Python and explore some of the different ways we might use them.
The for Loop Syntax
for loops use two variables, the iteration variable to be used inside the function and secondly the input value(s). The input can be any iterable data type; a
: (colon) must be used to begin the function and all code inside the
for loop must be intended with a
for iteration_variable in input_variable: #do something
note - you can call the
iteration_variable anything you wish. For more readable code you could use a single-character variable,
x for example.
Loop Through a List
A common use of
for loops is to iterate through a Python
list. Let's define a
list and then loop through it and
letters = ['a', 'b', 'c'] for l in letters: print(l)
a b c
Loop Through a String
Python strings are iterable, therefore we can access each character of a string using a
for loop. In the example below, we are passing the string
words into the
for loop and printing each of its characters.
for c in "words": print(c)
w o r d s
note - in the example, the iteration variable is
c - the only reason for that is it makes more sense since it contains a character.
Loop Through a Number Range
One way to loop through a range of numbers would be to create a list of numbers and iterate over them with a
numbers = ['1', '2', '3', '4', '5']
However, what if you needed to loop 100 times? Creating a list of 100 numbers would be quite messy. Fortunately, Python has a function called
range to deal with this exact problem. It creates a temporary list of numbers between a specified range.
The first argument of
range is the starting number and second is the ending number in the range.
numbers = range(1, 5) for n in numbers: print(n)
1 2 3 4
Count Numbers in a List Using a for Loop
Let's say we had a
list of numbers and wanted to find out their total when they are added together. We could do this by setting a
total variable to
0 and then setting the
total variable to the current
total value plus the current iteration value inside a
numbers = [25, 56, 44] total = 0 for n in numbers: total += n print(total)
Break a For Loop
To stop a
for loop and continue running the rest of the program use
break. This is usually used in conjunction with an
if comparison. In the example below, we are iterating through the string
food and if the current character is equal to
d end the loop.
string = "food" new = "" for c in string: if c == "d": break new = new + c print(new)
Continue to the Next Iteration of a Loop
The continue statement will tell Python to skip the rest of the current iteration but continue looping.
string = "food" new = "" for c in string: if c == "o": continue new = new + c print(new)
An else clause can be placed at the end of a
for loop to catch the completion of a loop that returns
numbers = [1, 2, 3] for n in numbers: if n == 4: break else: print("false")
in the example above if the number
4 is found the loop will break.
4 is not in the
list so the loop will complete and the
else statement will print
Nested For Loops
for loops in Python can be useful when iterating through multidimensional lists.
numbers = [1, 2, 3, [11, 22, 33]] for n in numbers: if type(n) is list: for m in n: print(m) else: print(n)
1 2 3 11 22 33
You now know how to use for loops in Python and how they can be applied to completing a variety of tasks.