Posted in

Understanding the For Loop in Python: Usage and Illustrative Examples

Learn about the For loop in Python.

In programming, loops are one of the fundamental and indispensable concepts. They allow you to repeat a block of code multiple times without having to rewrite it. Python – a programming language renowned for its simplicity and flexibility – provides the for loop as a powerful tool for iterating over data and automating processing.

A distinctive feature of Python is that the for loop is not limited to running from 1 to n as in many other languages (such as C or Java); instead, it can iterate over any object that has iterable properties. This enables programmers to easily work with lists, strings, dictionaries, and even data from files and APIs.

The objective of this article is to help you:

  • Understand the syntax and how the for loop works.
  • Practice with various specific illustrative examples.
  • Master advanced techniques to write concise and efficient Python code.
  • Know how to apply the for loop to real-world problems.

1. Basic Concept of the For Loop in Python

In Python, the for loop is used to iterate over the elements of an iterable object. An iterable can be a list, tuple, set, dictionary, string, or even a user-defined object.

Basic syntax:

for variable in iterable:
    # khối lệnh

Where:

  • variable is a temporary variable that takes the value of each element in the iterable.
  • iterable is an object that can be iterated over.
  • The code block is executed repeatedly for each element.

Simple example:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

Output:

apple
banana
cherry

2. How the For Loop Works

The mechanism of the for loop in Python is based on the iterator protocol. When you write for x in iterable, Python will:

  • Call iter(iterable) to obtain an iterator.
  • Continuously call next(iterator) to retrieve the next element.
  • When no elements remain, the loop terminates and raises StopIteration.

Illustrative example:

for char in "Python":
    print(char, end=" ")

Output:

P y t h o n

3. Common Use Cases of the For Loop

3.1. Iterating over list, tuple, set, and dictionary

Example with list, tuple, set

data_list = [1, 2, 3]
data_tuple = (4, 5, 6)
data_set = {7, 8, 9}

print("Iterating list:")
for x in data_list:
    print(x, end=" ")

print("\nIterating tuple:")
for x in data_tuple:
    print(x, end=" ")

print("\nIterating set:")
for x in data_set:
    print(x, end=" ")

Output:

Iterating list:
1 2 3 
Iterating tuple:
4 5 6 
Iterating set:
9 8 7 

Example with a dictionary

student = {"name": "Alice", "age": 20, "score": 85}
for key, value in student.items():
    print(key, ":", value)

3.2. Iterating over a string

text = "hello world"
count = 0
for ch in text:
    if ch in "aeiou":
        count += 1
print("Total:", count)

3.3. Using with the range() function

In Python, the range() function is commonly used with the for loop when you want to repeat a fixed number of times.
Syntax:

range(stop)               # từ 0 đến stop-1
range(start, stop)        # từ start đến stop-1
range(start, stop, step)  # từ start đến stop-1, nhảy step mỗi lần
  • start: the starting value (default is 0).
  • stop: the ending value (exclusive).
  • step: the step size (default is 1).
# Example: Using for loop with range()

# 1. Basic range
print("Basic range:")
for i in range(5):   # from 0 to 4
    print(i, end=" ")

print("\n" + "-"*30)

# 2. Range with start and stop
print("Start and stop:")
for i in range(2, 6):   # from 2 to 5
    print(i, end=" ")

print("\n" + "-"*30)

# 3. Range with step
print("With step:")
for i in range(0, 10, 2):   # from 0 to 8, step = 2
    print(i, end=" ")

print("\n" + "-"*30)

# 4. Reverse range
print("Reverse range:")
for i in range(5, 0, -1):   # from 5 down to 1
    print(i, end=" ")
Basic range:
0 1 2 3 4 
------------------------------
Start and stop:
2 3 4 5 
------------------------------
With step:
0 2 4 6 8 
------------------------------
Reverse range:
5 4 3 2 1 

4. Advanced Techniques with the For Loop

4.1. Using enumerate()

In Python, enumerate() is a built-in function used to iterate over an iterable (such as a list, tuple, string, etc.) while simultaneously returning both the index and the value of each element.

Syntax:

enumerate(iterable, start=0)
iterable: đối tượng có thể lặp được (list, tuple, string, v.v.).
start: số bắt đầu cho index (mặc định là 0).

Example: Helps retrieve both the index and the value:

animals = ["cat", "dog", "lion"]
for idx, animal in enumerate(animals, start=1):
    print(idx, animal)

4.2. Using zip() to Iterate Over Multiple Iterables Simultaneously

zip() in Python is a built-in function used to combine multiple iterables into a new iterable, where each element is a tuple containing the corresponding elements from the input iterables.

Syntax:

zip(iterable1, iterable2, iterable3, ...)
  • Each iterable can be a list, tuple, string, etc.
  • The result returned is a zip object (an iterator)

Example used with a for loop in Python:

names = ["Alice", "Bob", "Charlie"]
scores = [85, 90, 78]
for name, score in zip(names, scores):
    print(name, ":", score)

Note: In Python, an iterable is an object whose elements can be “iterated over” one by one using a loop.

4.3. List comprehension

A concise way of writing a for loop:

squares = [x**2 for x in range(1, 6)]
print(squares)

#result
[1, 4, 9, 16, 25]

4.4. Generator Expression

Saves memory when iterating over large datasets:

gen = (x**2 for x in range(1, 1000000))
print(next(gen))
print(next(gen))

#result
1
4

5. Combining the For Loop with Conditional Statements

5.1. Using if inside the loop

for i in range(10):
    if i % 2 == 0:
        print(i, "là số chẵn")

5.2. break and continue statements

for num in range(10):
    if num == 5:
        break
    if num % 2 == 0:
        continue
    print(num)

5.3. The else keyword in a for loop

for n in range(2, 6):
    if n % 2 == 0:
        print(n, "là số chẵn")
        break
else:
    print("Không tìm thấy số chẵn")

6. Conclusion

The for loop in Python is an extremely flexible tool that allows you to iterate over all types of data, from lists, strings, and dictionaries to files and APIs. Moreover, it supports many advanced techniques such as enumerate, zip, and list comprehension, helping make code more concise and efficient.

Mastering the for loop is a crucial foundation in Python programming. Once you become proficient, you can easily move on to more complex concepts such as big data processing, functional programming, or object-oriented programming.

7. References

Leave a Reply

Your email address will not be published. Required fields are marked *