Python For Loop Explained Beginner’s Guide with Examples

Python For Loop Explained Beginner’s Guide with Examples

The Python for loop is a versatile tool for iterating over sequences like lists, tuples, strings, or ranges, making it essential for Python iteration and Python sequence processing. Used for tasks like processing collections or repeating actions, the for loop simplifies repetitive tasks. This guide explores the syntax, functionality, practical examples, and best practices to help you master the Python for loop.

What Is a Python For Loop?

A Python for loop iterates over an iterable, executing a code block for each element. It’s ideal for scenarios where the number of iterations is known or for processing items in a collection, making it a cornerstone of Python iteration.

Syntax of Python For Loop:

for variable in iterable:
    # Code block
  

The variable takes each value from the iterable (e.g., list, tuple, range) one at a time, and the code block runs for each iteration.

Learn more about Python iterables for deeper context.

Using the Python For Loop

Example 1: Iterating Over a List

fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print(fruit)
# Output:
# apple
# banana
# orange
  

Example 2: Iterating Over a String

text = "Python"
for char in text:
    print(char)
# Output:
# P
# y
# t
# h
# o
# n
  

Example 3: Using range() for Python Sequence Processing

The range() function generates a sequence of numbers, commonly used in Python for loops.

for i in range(5):  # Iterates from 0 to 4
    print(i)
# Output:
# 0
# 1
# 2
# 3
# 4
  

Customizing range():

# range(start, stop, step)
for i in range(2, 10, 2):  # Start at 2, stop before 10, step by 2
    print(i)
# Output:
# 2
# 4
# 6
# 8
  

Loop Control Statements in Python For Loop

Python provides control statements to modify Python for loop behavior:

  • break: Exits the loop prematurely.
  • continue: Skips the current iteration and moves to the next.
  • else: Runs when the loop completes normally (not terminated by break).

Example with break and continue:

for num in range(10):
    if num == 5:
        break  # Exit loop when num is 5
    if num % 2 == 0:
        continue  # Skip even numbers
    print(num)
# Output:
# 1
# 3
  

Example with else:

for num in range(5):
    print(num)
else:
    print("Loop completed")
# Output:
# 0
# 1
# 2
# 3
# 4
# Loop completed
  

If break is used, the else block is skipped.

for num in range(5):
    if num == 3:
        break
    print(num)
else:
    print("This won't run")
# Output:
# 0
# 1
# 2
  

Iterating Over Different Data Types in Python Iteration

The Python for loop works with any iterable, including lists, tuples, sets, dictionaries, and strings.

Example with Dictionary:

my_dict = {"name": "Alice", "age": 25}
for key in my_dict:
    print(f"{key}: {my_dict[key]}")
# Output:
# name: Alice
# age: 25
  

Example with Set:

my_set = {1, 2, 3}
for item in my_set:
    print(item)
# Output: (order may vary)
# 1
# 2
# 3
  

Explore Python data structures for more on iterables.

Nested Python For Loops

Nested for loops, where a loop is inside another, are useful for processing multi-dimensional data in Python sequence processing.

Example of Nested For Loops:

for i in range(3):
    for j in range(2):
        print(f"i={i}, j={j}")
# Output:
# i=0, j=0
# i=0, j=1
# i=1, j=0
# i=1, j=1
# i=2, j=0
# i=2, j=1
  

Practical Use Cases for Python For Loop

Summing Elements: Calculate the sum of a list.

numbers = [1, 2, 3, 4, 5]
total = 0
for num in numbers:
    total += num
print(f"Sum: {total}")  # Output: Sum: 15
  

Filtering Data: Extract elements meeting a condition.

scores = [85, 92, 78, 95]
passing = []
for score in scores:
    if score >= 80:
        passing.append(score)
print(f"Passing scores: {passing}")  # Output: Passing scores: [85, 92, 95]
  

Processing User Input: Iterate over input data.

try:
    user_input = input("Enter numbers (space-separated): ").split()
    for num in user_input:
        print(int(num) * 2)
except ValueError:
    print("Please enter valid numbers")
  

Best Practices for Python For Loop

Follow these best practices for effective Python iteration:

  • Use Descriptive Variable Names: Choose names like fruit or index for clarity.
  • Avoid Unnecessary Nesting: Limit nested loops; consider list comprehensions for simpler tasks.
  • Handle Errors: Use try-except for loops processing user input or external data.
  • Use range() Wisely: Specify start, stop, and step values clearly to avoid errors.
  • Consider List Comprehensions: Use list comprehensions for concise transformations or filtering.

Example with Best Practices:

try:
    numbers = [int(x) for x in input("Enter numbers (space-separated): ").split()]
    total = 0
    for number in numbers:
        total += number
    print(f"Sum of numbers: {total}")
except ValueError:
    print("Invalid input, please enter numbers")
  

Learn more about Python list comprehensions for advanced techniques.

Frequently Asked Questions About Python For Loop

What is a Python for loop?

A Python for loop iterates over an iterable (e.g., list, tuple, string, range), executing a code block for each element, ideal for Python sequence processing.

When should I use a for loop vs a while loop?

Use a Python for loop when the number of iterations is known or for iterating over a collection; use a while loop for condition-based iteration.

What does the else block do in a for loop?

The else block runs when the Python for loop completes normally, but it’s skipped if the loop exits via break.

Can I use a for loop with dictionaries?

Yes, a Python for loop can iterate over dictionary keys, values, or key-value pairs using methods like .items().

Conclusion

The Python for loop is a powerful tool for Python iteration and Python sequence processing, enabling efficient handling of collections and repetitive tasks. By mastering its syntax, control statements, and applications through the provided examples, you can tackle a wide range of programming tasks. Follow best practices to write clear, efficient code. Explore related topics like Python while loop or Python conditional statements to enhance your skills!

Next Post Previous Post