Skip to main content

For Loops in Python

 

Learning Sections     show

For Loops in Python

The for loop in Python is used to iterate over a sequence (such as a list, tuple, dictionary, set, or string) or other iterable objects. It allows you to execute a block of code repeatedly for each item in the sequence.

Basic For Loop

The basic syntax of a for loop in Python is:


# Basic for loop example
for item in sequence:
    print(item)
    

For example, iterating over a list of numbers:


# Iterating over a list
numbers = [1, 2, 3, 4, 5]

for num in numbers:
    print(num)
    

Using Range in For Loops

The range() function generates a sequence of numbers, which can be used to iterate over with a for loop.


# Using range in a for loop

for i in range(5):
    print(i)
    

The range() function can also take start, stop, and step arguments:


# Using range with start, stop, and step arguments

for i in range(2, 10, 2):
    print(i)
    

Iterating Over Strings

You can use a for loop to iterate over each character in a string:


# Iterating over a string

text = "Hello"

for char in text:
    print(char)
    

Iterating Over Dictionaries

When iterating over a dictionary, you can access both the keys and values:


# Iterating over a dictionary

person = {"name": "Alice", "age": 25}

for key, value in person.items():
    print(f"{key}: {value}")
    

Nested For Loops

You can use nested for loops to iterate over multi-dimensional data structures:


# Nested for loops example

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for col in row:
        print(col, end=" ")
    print()
    

Using Else with For Loops

An optional else block can be used with a for loop. The else block is executed after the loop completes normally, but not if the loop is terminated by a break statement.


# Using else with for loops

for num in range(5):
    if num == 3:
        print("Found 3!")
        break
    print(num)
else:
    print("Loop completed without finding 3.")