Python For Loop – Syntax, Examples & Uses

Introduction

Python provides several looping mechanisms, and one of the most commonly used is the for loop. A for loop allows you to iterate over a sequence such as a list, tuple, string, dictionary, set, or range of numbers. It makes repetitive tasks simpler, cleaner, and more efficient.

The Python for loop is widely used in data processing, web development, automation, machine learning, file handling, and many other applications.

What is Python For Loop?

A Python for loop is a control flow statement used to repeatedly execute a block of code for each item in a sequence.

Unlike some programming languages that use counters and conditions in their for loops, Python’s for loop directly iterates over iterable objects.

Example:


fruits = ["Apple", "Banana", "Orange"]
for fruit in fruits:
    print(fruit)

Output:

Apple
Banana
Orange

In this example:

  • fruits is a list.
  • The loop accesses each item one by one.
  • The print() statement executes for every item.

Syntax

The basic syntax of a Python for loop is:


for variable in sequence:
    # code block

Syntax Breakdown

  • for is a Python keyword.
  • variable stores the current item.
  • in connects the variable to the sequence.
  • sequence can be a list, tuple, string, set, dictionary, or range.
  • The indented code block executes for every item.

Flow of Execution

When Python encounters a for loop:

  1. It retrieves the first item from the sequence.
  2. Assigns it to the loop variable.
  3. Executes the code block.
  4. Moves to the next item.
  5. Repeats until all items are processed.

For Loop with a List

Lists are commonly used with for loops.

Example:


languages = ["Python", "Java", "C++"]
for language in languages:
    print(language)

Output:

Python
Java
C++

For Loop with a String

A string is a sequence of characters.

Example:


word = "Python"
for letter in word:
    print(letter)

Output:

P
y
t
h
o
n

The loop processes one character at a time.

For Loop with a Tuple

Example:


colors = ("Red", "Green", "Blue")
for color in colors:
    print(color)

Output:

Red
Green
Blue

For Loop with a Set

Example:


numbers = {10, 20, 30}
for num in numbers:
    print(num)

Output:

10
20
30

Note: Sets are unordered collections.

For Loop with a Dictionary

Example:


student = {
    "name": "John",
    "age": 20
}
for key in student:
    print(key)

Output:

name
age

Accessing Dictionary Keys and Values

Example:


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

Output:

name John
age 20

Using range() with For Loop

The range() function generates a sequence of numbers.

Example:


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

Output:

0
1
2
3
4

Range with Start and Stop Values

Example:


for num in range(1, 6):
    print(num)

Output:

1
2
3
4
5

Range with Step Value

Example:


for num in range(0, 11, 2):
    print(num)

Output:

0
2
4
6
8
10

Nested For Loop

A for loop can be placed inside another for loop.

Example:


for i in range(3):
    for j in range(2):
        print(i, j)

Output:

0 0
0 1
1 0
1 1
2 0
2 1

Nested loops are useful for working with tables, matrices, and patterns.

For Loop with Else

Python allows an optional else block with loops.

Example:


for num in range(3):
    print(num)
else:
    print("Loop Completed")

Output:

0
1
2
Loop Completed

The else block executes after the loop finishes normally.

Example: Display Numbers 1 to 10

Example:


for num in range(1, 11):
    print(num)

Output:

1
2
3
4
5
6
7
8
9
10

Example: Calculate Sum of Numbers

Example:


total = 0
for num in range(1, 6):
    total += num

print(total)

Output:

15

Example: Multiplication Table


number = 5
for i in range(1, 11):
    print(number * i)

Output:

5
10
15
20
25
30
35
40
45
50

Real-Life Examples:

1. E-Commerce Shopping Cart


prices = [500, 1200, 800]
total = 0
for price in prices:
    total += price
print("Total Amount:", total)

Output:

Total Amount: 2500

Online shopping systems frequently use loops to calculate totals.

2. Email Processing


emails = [
    "user1@example.com",
    "user2@example.com",
    "user3@example.com"
         ]
for email in emails:
    print("Sending email to:", email)

Output:

Sending email to: user1@example.com
Sending email to: user2@example.com
Sending email to: user3@example.com

Email automation systems use loops extensively.

3. File Processing


files = ["file1.txt", "file2.txt", "file3.txt"]
for file in files:
    print("Processing:", file)
Processing: file1.txt
Processing: file2.txt
Processing: file3.txt

Batch file processing often relies on loops.

Advantages of Python For Loop

1. Reduces Repetitive Code

A single loop can replace hundreds of repeated statements.

2. Improves Readability

Code becomes cleaner and easier to understand.

3. Efficient Data Processing

Loops can process large datasets quickly.

4. Works with Multiple Data Types

Supports lists, tuples, strings, dictionaries, and more.

5. Essential for Automation

Used in web scraping, data analysis, testing, and scripting.

Common Mistakes

1. Missing Colon

Incorrect:


for num in range(5)
    print(num)

Output:

SyntaxError

Correct:


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

2. Incorrect Indentation

Incorrect:


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

Output:

IndentationError

Correct:


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

3. Modifying a List During Iteration

Incorrect:


numbers = [1, 2, 3]

for num in numbers:


  numbers.remove(num)

This may produce unexpected results.

4. Using Wrong Range Values

Incorrect:


  for num in range(10, 1):
    print(num)

Output:

No output because the range is invalid.

Correct:


  for num in range(10, 1, -1):
    print(num)

5. Confusing Loop Variables

Incorrect:


  for item in items:
    print(items)

This prints the entire collection repeatedly.

Correct:


  for item in items:
    print(item)

Best Practices

1. Use Meaningful Variable Names

for student in students:


  print(student)

2. Avoid Deep Nesting

Too many nested loops reduce readability.

3. Use enumerate() When Index is Needed


  fruits = ["Apple", "Banana"]

for index, fruit in enumerate(fruits):


      print(index, fruit)

4. Keep Loops Efficient

Avoid unnecessary calculations inside loops.

Conclusion

The Python for loop is one of the most important and widely used control flow statements in programming. It allows developers to efficiently iterate through sequences such as lists, tuples, strings, dictionaries, sets, and ranges. By eliminating repetitive code, for loops make programs cleaner, more readable, and easier to maintain.

Python for loop – Interview Questions

Q 1: What is a for loop in Python?
Ans: A for loop is used to iterate over a sequence.
Q 2: Which sequences can a for loop iterate over?
Ans: Lists, tuples, strings, ranges, and dictionaries.
Q 3: What is the use of range() in a for loop?
Ans: It generates a sequence of numbers for looping.
Q 4: Can a for loop have an else block?
Ans: Yes, the else block runs when the loop finishes normally.
Q 5: How do you stop a for loop?
Ans: By using the break statement.

Python for loop – Objective Questions (MCQs)

Q1. Which keyword is used to create a for loop in Python?






Q2. What will be the output of the following code?

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






Q3. Which function is commonly used with for loops to generate a sequence of numbers?






Q4. What will the following code print?

for x in "PYTHON":
print(x, end=" ")






Q5. Which statement can be used to stop a for loop before it has looped through all the items?






Related Python Tutorials