A for 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 the for keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages.
With the for loop we can execute a set of statements, once for each item in a list, tuple, set etc.
ExamplePrint each fruit in a fruit list:
fruits = ["apple", "banana", "cherry"]for x in fruits: print(x) Try it Yourself »The for loop does not require an indexing variable to set beforehand.
Looping Through a StringEven strings are iterable objects, they contain a sequence of characters:
ExampleLoop through the letters in the word "banana":
for x in "banana": print(x) Try it Yourself » The break StatementWith the break statement we can stop the loop before it has looped through all the items:
ExampleExit the loop when x is "banana":
fruits = ["apple", "banana", "cherry"]for x in fruits: print(x) if x == "banana": break Try it Yourself » ExampleExit the loop when x is "banana", but this time the break comes before the print:
fruits = ["apple", "banana", "cherry"]for x in fruits: if x == "banana": break print(x) Try it Yourself » The continue StatementWith the continue statement we can stop the current iteration of the loop, and continue with the next:
ExampleDo not print banana:
fruits = ["apple", "banana", "cherry"]for x in fruits: if x == "banana": continue print(x) Try it Yourself » The range() FunctionTo loop through a set of code a specified number of times, we can use the range() function,
The range() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.
ExampleUsing the range() function:
for x in range(6): print(x) Try it Yourself »Note that range(6) is not the values of 0 to 6, but the values 0 to 5.
The range() 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):
ExampleUsing the start parameter:
for x in range(2, 6): print(x) Try it Yourself »The range() 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):
ExampleIncrement the sequence with 3 (default is 1):
for x in range(2, 30, 3): print(x) Try it Yourself » Else in For LoopThe else keyword in a for loop specifies a block of code to be executed when the loop is finished:
ExamplePrint all numbers from 0 to 5, and print a message when the loop has ended:
for x in range(6): print(x)else: print("Finally finished!") Try it Yourself »Note: The else block will NOT be executed if the loop is stopped by a break statement.
ExampleBreak the loop when x is 3, and see what happens with the else block:
for x in range(6): if x == 3: break print(x)else: print("Finally finished!") Try it Yourself » Nested LoopsA nested loop is a loop inside a loop.
The "inner loop" will be executed one time for each iteration of the "outer loop":
ExamplePrint each adjective for every fruit:
adj = ["red", "big", "tasty"]fruits = ["apple", "banana", "cherry"]for x in adj: for y in fruits: print(x, y)
Try it Yourself » The pass Statementfor loops cannot be empty, but if you for some reason he a for loop with no content, put in the pass statement to oid getting an error.
Example for x in [0, 1, 2]: pass Try it Yourself » ❮ Previous Next ❯ ★ +1 Track your progress - it's free! Log in Sign Up