Bird
Raised Fist0
Pythonprogramming~20 mins

Iterating over lists in Python - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Master of List Iteration
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of nested loops with list iteration
What is the output of this Python code?
Python
result = []
for i in [1, 2]:
    for j in [3, 4]:
        result.append(i * j)
print(result)
A[3, 4, 6, 8]
B[3, 6, 4, 8]
C[4, 3, 8, 6]
D[1, 2, 3, 4]
Attempts:
2 left
💡 Hint
Think about how the outer and inner loops multiply each pair of numbers.
Predict Output
intermediate
2:00remaining
Output of list comprehension with condition
What is the output of this code?
Python
numbers = [0, 1, 2, 3, 4]
squares = [x**2 for x in numbers if x % 2 == 0]
print(squares)
A[0, 1, 4, 9, 16]
B[1, 9]
C[0, 4, 16]
D[2, 4]
Attempts:
2 left
💡 Hint
Only even numbers are squared and included.
🔧 Debug
advanced
2:00remaining
Identify the error in list iteration
What error does this code raise when run?
Python
items = [1, 2, 3]
for i in range(len(items)):
    print(items[i+1])
AIndexError
BTypeError
CSyntaxError
DNo error, prints 2, 3, and 4
Attempts:
2 left
💡 Hint
Check the index used inside the loop compared to the list length.
Predict Output
advanced
2:00remaining
Output of modifying list during iteration
What is the output of this code?
Python
lst = [1, 2, 3]
for x in lst:
    lst.append(x + 3)
    if len(lst) > 6:
        break
print(lst)
A[1, 2, 3, 4, 5, 6, 7]
B[1, 2, 3]
CInfinite loop
D[1, 2, 3, 4, 5, 6]
Attempts:
2 left
💡 Hint
Appending to a list during 'for x in lst' iteration only processes the original elements; the break checks length after each append.
🧠 Conceptual
expert
2:00remaining
Number of items after complex iteration
How many items are in the list 'result' after running this code?
Python
result = []
for i in range(3):
    for j in range(i):
        result.append(i + j)
print(len(result))
A4
B3
C6
D0
Attempts:
2 left
💡 Hint
Count how many times the inner loop runs for each i.

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