PythonFor Loops
Python For Loops
Afor loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).
This is less like thefor keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages.
With thefor loop we can execute a set of statements, once for each item in a list, tuple, set etc.
Example
Print each fruit in a fruit list:
for x in fruits:
print(x)
Thefor loop does not require an indexing variable to set beforehand.
Looping Through a String
Even strings are iterable objects, they contain a sequence of characters:
The break Statement
With thebreak statement we can stop the loop before it has looped through all the items:
Example
Exit the loop whenx
is "banana":
for x in fruits:
print(x)
if x == "banana":
break
Example
Exit the loop whenx
is "banana", but this time the break comes before the print:
for x in fruits:
if x == "banana":
break
print(x)
The continue Statement
With thecontinue statement we can stop the current iteration of the loop, and continue with the next:
Example
Do not print banana:
for x in fruits:
if x == "banana":
continue
print(x)
The range() Function
To loop through a set of code a specified number of times, we can use therange() function,Therange() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.
Note thatrange(6) is not the values of 0 to 6, but the values 0 to 5.
Therange() function defaults to 0 as a starting value, however it is possible to specify the starting value by adding a parameter:range(2, 6), which means values from 2 to 6 (but not including 6):
Therange() function defaults to increment the sequence by 1,however it is possible to specify the increment value by adding a third parameter:range(2, 30,3):
Example
Increment the sequence with 3 (default is 1):
print(x)
Else in For Loop
Theelse
keyword in afor
loop specifies a block of code to be executed when the loop is finished:
Example
Print all numbers from 0 to 5, and print a message when the loop has ended:
print(x)
else:
print("Finally finished!")
Note: Theelse
block will NOT be executed if the loop is stopped by abreak
statement.
Example
Break the loop whenx
is 3, and see what happens with theelse
block:
if x == 3: break
print(x)
else:
print("Finally finished!")
Nested Loops
A nested loop is a loop inside a loop.
The "inner loop" will be executed one time for each iteration of the "outer loop":
Example
Print each adjective for every fruit:
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
The pass Statement
for
loops cannot be empty, but if you for some reason have afor
loop with no content, put in thepass
statement to avoid getting an error.