Bird
Raised Fist0
Pythonprogramming~5 mins

Iterating over lists in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

We use iteration to look at each item in a list one by one. This helps us do something with every item easily.

When you want to print all items in a shopping list.
When you need to add 1 to every number in a list of scores.
When you want to check if any item in a list matches a condition.
When you want to create a new list based on items from another list.
When you want to count how many items meet a certain rule.
Syntax
Python
my_list = ['item1', 'item2', 'item3']
for item in my_list:
    # do something with item

The for loop goes through each item in the list one by one.

Indentation (spaces before the code inside the loop) is important in Python.

Examples
This prints each fruit name on its own line.
Python
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)
When the list is empty, the loop does not run at all.
Python
numbers = []
for number in numbers:
    print(number)
Works fine even if the list has just one item.
Python
single_item_list = ['only']
for item in single_item_list:
    print(item)
You can check each item and do something only when a condition is true.
Python
colors = ['red', 'green', 'blue']
for color in colors:
    if color == 'green':
        print('Found green!')
Sample Program

This program defines a function to print all items in a list with a dash before each. Then it calls the function with a shopping list.

Python
def print_list_items(items):
    print('List has', len(items), 'items:')
    for item in items:
        print('-', item)

shopping_list = ['milk', 'eggs', 'bread']
print_list_items(shopping_list)
OutputSuccess
Important Notes

Time complexity is O(n) because it looks at each item once.

Space complexity is O(1) if you only print or use items one by one.

Common mistake: forgetting to indent the code inside the loop, which causes errors.

Use iteration when you want to do something with every item. Use list comprehensions if you want to create a new list quickly.

Summary

Iteration lets you visit each item in a list one at a time.

Use a for loop with a list to do this simply.

Works with empty lists and lists of any size.

Practice

(1/5)
1. What does the following code do?
for item in [1, 2, 3]:
    print(item)
easy
A. Prints the whole list once
B. Prints numbers 1 to 3 without spaces
C. Prints each number 1, 2, and 3 on a new line
D. Causes an error because of the loop

Solution

  1. Step 1: Understand the for loop over a list

    The loop goes through each element in the list [1, 2, 3] one by one.
  2. Step 2: Print each element during iteration

    Each element (1, then 2, then 3) is printed on its own line because of the print statement.
  3. Final Answer:

    Prints each number 1, 2, and 3 on a new line -> Option C
  4. Quick Check:

    Loop prints items one by one [OK]
Hint: For loops print each list item separately [OK]
Common Mistakes:
  • Thinking it prints the whole list at once
  • Expecting numbers to print on the same line
  • Confusing loop variable with list itself
2. Which of these is the correct syntax to loop over a list named fruits?
easy
A. for fruit in fruits: print(fruit)
B. for fruits in fruit: print(fruits)
C. loop fruit in fruits: print(fruit)
D. for fruit to fruits: print(fruit)

Solution

  1. Step 1: Identify correct for loop syntax

    The correct Python syntax uses 'for variable in list:' to loop over items.
  2. Step 2: Check each option

    for fruit in fruits: print(fruit) uses 'for fruit in fruits:', which is correct. Others use invalid keywords or reversed names.
  3. Final Answer:

    for fruit in fruits: print(fruit) -> Option A
  4. Quick Check:

    Use 'for item in list:' syntax [OK]
Hint: Remember: for variable in list: [OK]
Common Mistakes:
  • Swapping variable and list names
  • Using wrong keywords like 'loop' or 'to'
  • Missing colon after for statement
3. What is the output of this code?
numbers = [2, 4, 6]
sum = 0
for n in numbers:
    sum += n
print(sum)
medium
A. 12
B. 0
C. 246
D. Error

Solution

  1. Step 1: Understand the loop adding numbers

    The loop adds each number in the list [2, 4, 6] to sum, starting from 0.
  2. Step 2: Calculate the total sum

    sum = 0 + 2 + 4 + 6 = 12
  3. Final Answer:

    12 -> Option A
  4. Quick Check:

    Sum of list items = 12 [OK]
Hint: Add each item inside the loop to get total [OK]
Common Mistakes:
  • Printing sum before loop
  • Concatenating numbers as strings
  • Forgetting to initialize sum to 0
4. Find the error in this code:
items = [10, 20, 30]
for i in items
    print(i)
medium
A. List name is incorrect
B. Wrong variable name in loop
C. Indentation error in print
D. Missing colon after for statement

Solution

  1. Step 1: Check for syntax errors in for loop

    The for loop must end with a colon ':' to be valid syntax.
  2. Step 2: Identify missing colon

    The code misses ':' after 'for i in items', causing a syntax error.
  3. Final Answer:

    Missing colon after for statement -> Option D
  4. Quick Check:

    For loops need ':' at end [OK]
Hint: Always put ':' after for loop header [OK]
Common Mistakes:
  • Forgetting colon after for statement
  • Using wrong variable names
  • Incorrect indentation of print
5. You have a list of lists: data = [[1, 2], [3, 4], [5, 6]]. How do you print all numbers one by one using iteration?
hard
A. print(data[0][0], data[1][1], data[2][2])
B. for sublist in data: for num in sublist: print(num)
C. for i in range(len(data)): print(data[i])
D. for num in data: print(num)

Solution

  1. Step 1: Understand nested lists and iteration

    Each item in data is a list itself, so we need two loops: one for each sublist, one for numbers inside.
  2. Step 2: Use nested for loops to access all numbers

    The outer loop goes through each sublist, the inner loop prints each number inside that sublist.
  3. Final Answer:

    for sublist in data: for num in sublist: print(num) -> Option B
  4. Quick Check:

    Nested loops print all inner items [OK]
Hint: Use nested loops for lists inside lists [OK]
Common Mistakes:
  • Trying to print sublists directly
  • Using single loop only
  • Accessing wrong indexes causing errors